<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://jet.maui.co.uk/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Marty</id>
	<title>JetResources - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://jet.maui.co.uk/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Marty"/>
	<link rel="alternate" type="text/html" href="https://jet.maui.co.uk/wiki/index.php/Special:Contributions/Marty"/>
	<updated>2026-04-11T00:38:38Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.35.14</generator>
	<entry>
		<id>https://jet.maui.co.uk/wiki/index.php?title=Faq&amp;diff=1460</id>
		<title>Faq</title>
		<link rel="alternate" type="text/html" href="https://jet.maui.co.uk/wiki/index.php?title=Faq&amp;diff=1460"/>
		<updated>2014-01-03T11:42:41Z</updated>

		<summary type="html">&lt;p&gt;Marty: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Frequently Asked Questions ==&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
&lt;br /&gt;
==== What are these '.pkg'/'pkg.bz2' files ? ====&lt;br /&gt;
&lt;br /&gt;
&amp;quot;I've just downloaded the packages from the website, and now have files with a .pkg suffix. What do I do next ?&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The files you have are datastream packages. To install them, run&lt;br /&gt;
&lt;br /&gt;
      pkgadd -d filename.pkg&lt;br /&gt;
&lt;br /&gt;
rather than the more usual pkgadd -d . [pkgname]&lt;br /&gt;
&lt;br /&gt;
You can migrate the datastream format packages to regular directory based packages by using the pkgtrans(1m) command.&lt;br /&gt;
&lt;br /&gt;
      pkgtrans filename.pkg . all&lt;br /&gt;
&lt;br /&gt;
Basically, read up on pkgadd(1m) and pkgtrans(1m) !&lt;br /&gt;
&lt;br /&gt;
==== A GUI Frontend for JET ====&lt;br /&gt;
&lt;br /&gt;
Is there a Web Front End for JET ?&lt;br /&gt;
&lt;br /&gt;
Probably the most frequently requested feature. The short answer is 'no, there is no generic web front end for JET'.&lt;br /&gt;
&lt;br /&gt;
The long answer is that typically, web front ends are written to expose a subset of the features available in JET. For the case of 'standard builds', you may wish to have a pull down list of available builds and just plug in the MAC and IP addresses etc.&lt;br /&gt;
&lt;br /&gt;
As these front ends, with only a subset of features presented, are very much customised for a particular use/customer, it's work you need to do!&lt;br /&gt;
&lt;br /&gt;
If a 'generic web front end' was provided, it would need to be kept up to date with every modification to the toolkit. Quite frankly, it isn't going to be that useful to many people.&lt;br /&gt;
&lt;br /&gt;
JET has been designed so it is pretty easy to front end yourself.&lt;br /&gt;
&lt;br /&gt;
==== Getting Help with JET ====&lt;br /&gt;
&lt;br /&gt;
There are a number of places you can go for help with JET; first up is obviously Sun themselves - Email the people who look after JET on the alias jet@sun.com and someone should get back to you pretty quickly (UK Timezone).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sun have also put up information on the JET BigAdmin page at http://www.sun.com/bigadmin/content/jet/ and Mike Ramchand (one of the authors) tends to write things about JET in his blog at http://blogs.sun.com/roller/page/mramcha/20050826&lt;br /&gt;
&lt;br /&gt;
External to Sun are a number of resources; there is a Yahoo group at http://groups.yahoo.com/group/JETJumpStart/ and of course, you can approach me (marty at Maui-Systems dot co dot uk) as the other author of the toolkit from when I used to work for Sun.&lt;br /&gt;
&lt;br /&gt;
==== Whats in the Free Bundle ? ====&lt;br /&gt;
&lt;br /&gt;
The JET bundle downloadable from http;//www.sun.com/downloads currently (as of May 2006) contains the following modules.&lt;br /&gt;
&lt;br /&gt;
    * SUNWjet - The core JET product&lt;br /&gt;
    * SUNWjetd - The documentation - Please read&lt;br /&gt;
    * JetSDS - Configure SVM/SDS&lt;br /&gt;
    * JetVTS - Install the Test Suite&lt;br /&gt;
    * JetEXPLO - Install and configure Explorer&lt;br /&gt;
    * JetFLASH - Utilise flash archives for installation&lt;br /&gt;
    * JetSAN - Configure SANs&lt;br /&gt;
    * JetJASS - JASS toolkit install and configuration&lt;br /&gt;
    * JetZONES - Add local zones to your Solaris 10 global zones as part of the build&lt;br /&gt;
    * JetWanBoot - Plugin to allow JET to perform WANBOOTt installations&lt;br /&gt;
    * JetRBAC - Enables none root users to run JET using RBAC&lt;br /&gt;
&lt;br /&gt;
Sun releases/refreshes the bundle on an ad-hoc basis and normally communicates this fact to the comp.unix.solaris and alt.solaris.x86 newsgroups.&lt;br /&gt;
&lt;br /&gt;
==== Solaris 10 U1 (01/06) grub/newboot ====&lt;br /&gt;
&lt;br /&gt;
With the release of Solaris 10 Update 1 (01/06), the x86/64 platform boot method was transitioned to 'grub', finally doing away with the old DCA pre-boot environment. This new boot method was refered to as &amp;quot;newboot&amp;quot; internally to Sun and the phrase seems to have stuck.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To deal with this a JetNEWBOOT module was developed to &amp;quot;plugin&amp;quot; to JET versions prior to JET 4.2 to support this new boot environment. When JET 4.2 is released, the 'grub' installation method will be part of the core JET product.&lt;br /&gt;
&lt;br /&gt;
When using JetNEWBOOT, all you need to amend in your template is the&lt;br /&gt;
&lt;br /&gt;
    * base_config_allocation_method=&amp;quot;newboot&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As a guide to what to use:&lt;br /&gt;
&lt;br /&gt;
    * With Solaris 10 GA (03/05)&lt;br /&gt;
          o base_config_allocation_method=&amp;quot;dhcp&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
    * With Solaris 10 Update 1 (01/06) and above, JET (&amp;lt; 4.2) and JetNEWBOOT&lt;br /&gt;
          o base_config_allocation_method=&amp;quot;newboot&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
    * With Solaris 10 Update 1 (01/06) and above, JET (&amp;gt;= 4.2)&lt;br /&gt;
          o base_config_allocation_method=&amp;quot;grub&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
JetNEWBOOT is now part of the downloadable bundle from Sun but will not be required once JET 4.2 is released.&lt;br /&gt;
&lt;br /&gt;
==== Using 'iso' images instead of CD/DVDs ====&lt;br /&gt;
&lt;br /&gt;
The following was derived from information at http://www.unix.com/showthread.php?t=18074&lt;br /&gt;
&lt;br /&gt;
When using Solaris ISO images, the start of the image contains a hsfs (high sierra filesystem) with a couple of ufs filesystems appended to the end of it.&lt;br /&gt;
&lt;br /&gt;
The problem, is that using lofiadm, only the hsfs image is spotted and made available; the ufs filesystems are not seen, so you end up with broken links to 's1' and the like.&lt;br /&gt;
&lt;br /&gt;
To set up a JumpStart server using Solaris ISO images, you must have access to both slice 0 and slice 1 on the image.&lt;br /&gt;
&lt;br /&gt;
To fix the problem, split the contents of slice 1 into it's own image file and then mount this image separately using lofi.&lt;br /&gt;
&lt;br /&gt;
The following procedure describes how to do this.&lt;br /&gt;
&lt;br /&gt;
 # ls -l sol-9*&lt;br /&gt;
 -rw-r--r-- 1 root root 576364544 Jan 1 11:16 sol-9-u1-sparc-v1.iso&lt;br /&gt;
 -rw-r--r-- 1 root root 291962880 Jan 1 21:42 sol-9-u1-sparc-v2.iso&lt;br /&gt;
 &lt;br /&gt;
 This only applies to CD 1, all other isos can be mounted using lofiadm in the normal way.&lt;br /&gt;
 &lt;br /&gt;
 1. Get a copy of the VTOC from the ISO image:&lt;br /&gt;
 &lt;br /&gt;
   # dd if=sol-9-u1-sparc-v1.iso of=vtoc bs=512 count=1&lt;br /&gt;
   1+0 records in&lt;br /&gt;
   1+0 records out&lt;br /&gt;
 &lt;br /&gt;
 2. Now find out where Slice 1 starts in the image and how long it is. The starting cylinder for slice 1 is located at offset 452 (decimal) into the VTOC; the length in blocks is at offset 456, with both being 4 bytes long.&lt;br /&gt;
 &lt;br /&gt;
   # od -D -j 452 -N 8 &amp;lt; vtoc&lt;br /&gt;
   0000000 0000000888 0000546560&lt;br /&gt;
   0000010&lt;br /&gt;
 &lt;br /&gt;
 Slice 1 starts on cylinder 888, and is 546,560 blocks long. CD for the Solaris OS always have 640 blocks per cylinder, so you can find the starting block of slice 1 as follows:&lt;br /&gt;
 &lt;br /&gt;
   # echo 888*640 | bc&lt;br /&gt;
   568320&lt;br /&gt;
 &lt;br /&gt;
 So now you know s1 starts at block 568320 and is 546560 blocks long.&lt;br /&gt;
&lt;br /&gt;
 3. Copy slice one into a separate file:&lt;br /&gt;
 &lt;br /&gt;
   # dd if=sol-9-u1-sparc-v1.iso of=sol-9-u1-sparc-v1-s1.iso bs=512 skip=568320 count=546560&lt;br /&gt;
   546560+0 records in&lt;br /&gt;
   546560+0 records out&lt;br /&gt;
 &lt;br /&gt;
 4. Mount both slice 0 and slice 1 as follows:&lt;br /&gt;
 &lt;br /&gt;
   # mkdir /cd&lt;br /&gt;
   # mkdir /cd/s0&lt;br /&gt;
   # mkdir /cd/s1&lt;br /&gt;
   # lofiadm -a /path_to/sol-9-u1-sparc-v1.iso /dev/lofi/1&lt;br /&gt;
   # lofiadm -a /path_to/sol-9-u1-sparc-v1-s1.iso /dev/lofi/2&lt;br /&gt;
 &lt;br /&gt;
   When you mount slice 1, remember that it is a UFS partition, not HSFS as is usual on a CD-ROM:&lt;br /&gt;
 &lt;br /&gt;
   # mount -F hsfs -o ro /dev/lofi/1 /cd/s0&lt;br /&gt;
   # mount -F ufs -o ro /dev/lofi/2 /cd/s1&lt;br /&gt;
   # cd /cd/s0/Solaris_9/Tools/&lt;br /&gt;
   # ./setup_install_server /destination_dir&lt;br /&gt;
&lt;br /&gt;
==== How To Upgrade JET ====&lt;br /&gt;
&lt;br /&gt;
Upgrading JET is normally as easy as&lt;br /&gt;
&lt;br /&gt;
    * pkgrm SUNWjet&lt;br /&gt;
    * pkgadd -d . SUNWjet&lt;br /&gt;
&lt;br /&gt;
The JET packages were designed so that they don't remove your configs, templates or other 'configuration' settings when removed. However, if you hack the JET scripts etc, then this will remove your customisations - hence the reason hacking JET is frowned upon and you are recommended to look at writing your own modules instead.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
However, if you are upgrading from JET 3.x to 4.x, then you need to do some additional work. The following was taken from Mike's Sun blog&lt;br /&gt;
&lt;br /&gt;
 Things might be a little trickier if you've already got JET 3.7.3 installed, and you want to keep you existing templates etc. The easiest way to accomplish this is to pkgrm all your existing JET packages. (SUNWjet, and all the packages that start with JET), and then&lt;br /&gt;
 &lt;br /&gt;
 mv /opt/jet /opt/SUNWjet&lt;br /&gt;
 &lt;br /&gt;
 Finally install the new JET packages.If you've created you own custom modules or scripts, you may need to check them to ensure you haven't hard-coded any /opt/jet paths in them.&lt;br /&gt;
&lt;br /&gt;
The extra bits are&lt;br /&gt;
* remember to update your .profile with the new path (/opt/SUNWjet/bin)&lt;br /&gt;
* if you have any existing clients, you will need to re-run 'make_client' on them, as /etc/bootparams and/or dhcp macro table will have the directory /opt/jet mentioned as the config directory, rather than the new /opt/SUNWjet&lt;br /&gt;
&lt;br /&gt;
==== How to set up JET as a PXE (DHCP) Server ====&lt;br /&gt;
&lt;br /&gt;
The easiest way of setting up JET to serve up PXE boot clients (or other DHCP clients) is to copy, edit and then run the &amp;quot;helper script&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
cp /opt/SUNWjet/Products/base_config/solaris/make_dhcp /var/tmp&lt;br /&gt;
&lt;br /&gt;
edit it to suit your network&lt;br /&gt;
ie&lt;br /&gt;
&lt;br /&gt;
    NETWORK=10.1.1.0&lt;br /&gt;
 &lt;br /&gt;
    NETMASK=255.255.255.0&lt;br /&gt;
 &lt;br /&gt;
    ROUTER=10.1.1.1&lt;br /&gt;
 &lt;br /&gt;
    dhcpconfig -D -r SUNWfiles -p /var/tmp&lt;br /&gt;
    dhcpconfig -N ${NETWORK} -m ${NETMASK} -t ${ROUTER}&lt;br /&gt;
&lt;br /&gt;
Then run it, /var/tmp/make_dhcp&lt;br /&gt;
&lt;br /&gt;
JET will now &amp;quot;do the right thing&amp;quot; based on the allocation method in your template.&lt;br /&gt;
&lt;br /&gt;
==== Documents reference Solaris 8 and 9, not 10. Does this work with Solaris 10 and Solaris 11 ? ====&lt;br /&gt;
&lt;br /&gt;
JET was originally developed in the era of Solaris 7, 8 and 9. As such whatever documentation there is, normally uses one of those in examples.&lt;br /&gt;
&lt;br /&gt;
JET works fine with Solaris 10 (and indeed Solaris 11), in the same fashion as with previous versions of Solaris.&lt;br /&gt;
&lt;br /&gt;
You can't currently use JET to install Solaris 11 systems, as Oracle have changed the installation technology to 'Auto Install' which is different from JumpStart. You can still use a Solaris 11 system to deliver both Jet/JumpStart installs to Solaris 10 (or lower) clients, and AI installs to Solaris 11 at the same time though.&lt;br /&gt;
&lt;br /&gt;
==== Install v.s. Upgrades ====&lt;br /&gt;
&lt;br /&gt;
JET doesn't deal with upgrades at all; if you want to upgrade using JumpStart, then you need to hand-craft something - there are too many risks for JET to be able to claim to work properly in every situation, so it doesn't claim to do upgrades at all.&lt;br /&gt;
&lt;br /&gt;
==== Using OpenSolaris as a JET server ====&lt;br /&gt;
&lt;br /&gt;
If you have installed OpenSolaris, you may need to add the following packages to enable all services required.&lt;br /&gt;
&lt;br /&gt;
For rpc.bootparamd and in.tftpd, needed to jumpstart a SPARC box,&lt;br /&gt;
SUNWbs (formerly the packages were SUNWbsu and SUNWbsr)&lt;br /&gt;
&lt;br /&gt;
Timeservices&lt;br /&gt;
SUNWcns&lt;br /&gt;
&lt;br /&gt;
==== Using Solaris 11 as a JET server ====&lt;br /&gt;
&lt;br /&gt;
Solaris 11 is &amp;quot;different&amp;quot; with Auto Install replacing JumpStart. This means it does not include many packages required for JumpStart by default&lt;br /&gt;
&lt;br /&gt;
To enable S11 to act as a JET server, add the following.&lt;br /&gt;
&lt;br /&gt;
pkg install system/boot/network&lt;br /&gt;
&lt;br /&gt;
          Name: system/boot/network&lt;br /&gt;
       Summary: Boot server daemons&lt;br /&gt;
   Description: Support for legacy network boot services including the Reverse&lt;br /&gt;
                Address Resolution Protocol (RARP) (RFC 903) and the boot&lt;br /&gt;
                parameters RPC service. &lt;br /&gt;
&lt;br /&gt;
pkg install network/dhcp/dhcpmgr        - incase you want to use the GUI&lt;br /&gt;
pkg install service/network/dhcp        - for pntadm etc&lt;br /&gt;
&lt;br /&gt;
S11 tftpboot does not recognise /tftpboot.&lt;br /&gt;
&lt;br /&gt;
Just ln -s /tftpboot /etc/netboot&lt;br /&gt;
&lt;br /&gt;
Then carry on as normal, except using zfs share and not /etc/dfs/dfstab&lt;br /&gt;
&lt;br /&gt;
=== Configuration ===&lt;br /&gt;
&lt;br /&gt;
==== JET and Boot Servers ====&lt;br /&gt;
&lt;br /&gt;
Initially, JET was not designed to use the JumpStart Boot Server concepts. There are some internal to Sun modules that are known to extend JET to include Boot Server support and also do so much more for distributed JET environments.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If this is a requirement for you, contact Sun (jet@sun.com) and try to get them involved. If what they have already doesn't fit, it's probably easy for them to adjust it!&lt;br /&gt;
&lt;br /&gt;
==== Disksuite Soft Partitions ====&lt;br /&gt;
&lt;br /&gt;
The easiest way is to create an md.tab file&lt;br /&gt;
and put it under /opt/jet/Clients/clientname&lt;br /&gt;
&lt;br /&gt;
The format of the md.tab should be something like:&lt;br /&gt;
&lt;br /&gt;
    d50 -p d40 100m&lt;br /&gt;
    d40 -m d41&lt;br /&gt;
    d41 1 1 /dev/rdsk/c1t0d0s0&lt;br /&gt;
    d42 1 1 /dev/rdsk/c2t0d0s0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
or for creating a mirrored stripe with softpartitions:&lt;br /&gt;
&lt;br /&gt;
    d70 -p d60 1g&lt;br /&gt;
    d60 -m d61&lt;br /&gt;
    d61 1 2 /dev/rdsk/c1t1d0s0 /dev/rdsk/c1t2d0s0&lt;br /&gt;
    d62 1 2 /dev/rdsk/c2t1d0s0 /dev/rdsk/c2t2d0s0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In addition, the disks used above should all have their vtocs created.&lt;br /&gt;
This is achieved with the following lines from JET base_config:&lt;br /&gt;
&lt;br /&gt;
    base_config_profile_disk_c0t1d0s0_size=&amp;quot;free&amp;quot;&lt;br /&gt;
    base_config_profile_disk_c0t1d0s7_size=&amp;quot;32&amp;quot; (repeat for above disks)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Don't associate any mount points with these partitions.&lt;br /&gt;
&lt;br /&gt;
Finally, to initialise and attach, put in the correct order:&lt;br /&gt;
&lt;br /&gt;
    sds_metadevices_to_init=&amp;quot;d41 d42 d40 d50 d61 d62 d60 d70&amp;quot;&lt;br /&gt;
    sds_metadevices_to_attach=&amp;quot;d40:d42 d60:d62&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
and then add the entries for /etc/vfstab:&lt;br /&gt;
&lt;br /&gt;
    sds_newfs_devices=&amp;quot;/dev/md/rdsk/d50&amp;quot;&lt;br /&gt;
    sds_mount_devices=&amp;quot;/dev/md/dsk/d50:/d50:2:logging&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== Upgrade vs Install ====&lt;br /&gt;
&lt;br /&gt;
JET doesn't do upgrades; you could in theory do it, since JumpStart does support upgrades, but would you really want to ?&lt;br /&gt;
&lt;br /&gt;
Pretty much every system is unique, so just running an 'automated' upgrade on a bunch of systems will produce a mixture of results; in fact, many people, say that you have two real options...&lt;br /&gt;
&lt;br /&gt;
   1. make sure your 'data' is saved, and then do a burn and build. Safest option, as you know exactly what you are going to get; bad side is that you need to know where your data is.&lt;br /&gt;
 &lt;br /&gt;
   2. do a manual upgrade; you can still use the network Solaris images, just omit the '- install'; 'boot net' that way, you are in control and don't invoke any errant finish scripts that you may not be expecting.&lt;br /&gt;
&lt;br /&gt;
Hence the reason we don't promote upgrades; there are too many variables; JET is designed for burn and build, since it's origin is from field installations. Not saying it isn't possible, but by the time you get it working, you may have taken less time to do the upgrades by hand!&lt;br /&gt;
&lt;br /&gt;
==== Using SVM to mirror root disks ====&lt;br /&gt;
&lt;br /&gt;
&amp;quot;I have configured a jumpstart server using Sun JET 4.1. I am trying to build a client with ODS (disksuite) to mirror rootdisk. I installed the sds package and did all the configuration bit.  I  have managed to build the client system successfully with all the mirrors and can see the mirror using “metastat –p” command. The only issue is, the system is not showing the metadevices entries in “/etc/vfstab” file and therefore has booted from the normal devices.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
When configuring SVM/SDS for root disks, use the sds_root_mirror setting in the template. It was desgined to 'encapsulate' existing filesystems with SVM metadevices - even if you don't actually have the other device to mirror the root disk to yet.&lt;br /&gt;
&lt;br /&gt;
The sds_metadevices_to_* variables are used to create new metadevices and filesystems - setting things here won't affect your /etc/vfstab for existing filesystems unless you do it yourself.&lt;br /&gt;
&lt;br /&gt;
==== JET and JASS Integration ====&lt;br /&gt;
&lt;br /&gt;
You need to get hold of the JetJASS module, which as far as I know is not part of&lt;br /&gt;
the standard download available at www.sun.com/downloads&lt;br /&gt;
&lt;br /&gt;
If you have JetJASS, then doing a 'make_template -T &amp;lt;client&amp;gt; &amp;lt;client&amp;gt; jass' will&lt;br /&gt;
add the JASS module details to your template. After that, the options are&lt;br /&gt;
pretty self-explanatory - providing you understand JASS that is.&lt;br /&gt;
&lt;br /&gt;
For those who don't have JetJASS, then you need to engage Sun to get hold of it; you can either do that through your local account manager or through the jet@sun.com alias.&lt;br /&gt;
&lt;br /&gt;
==== How does this JetZONES module work ? ====&lt;br /&gt;
&lt;br /&gt;
The philosophy behind the module was to try to treat zones as a normal JET client. In order to do this, you need to :&lt;br /&gt;
&lt;br /&gt;
* Enable JET server to deploy zones. This is achieved by adding JetZONES to the JET server&lt;br /&gt;
* Add JET support to the 'parent' system. The 'parent' system is the system on which the zones will be created. This is achieved by adding the 'zones' module to the template for the parent.&lt;br /&gt;
* Create a 'zone' definition by using the 'make_zone_template' which gives you a cut down standard Solaris template.&lt;br /&gt;
** zone definitions are not tied to the parent unless specifically referenced in the parent template. By default a zone could be instantiated on any of the possible parents (usual network and resource restrictions obviously apply).&lt;br /&gt;
&lt;br /&gt;
You can manually 'JumpStart' a zone on a parent by running the 'jetzone' command, which will then contact the JET server and hopefully do the right thing.&lt;br /&gt;
&lt;br /&gt;
The obvious caveats, are that very few of the usual modules are zone aware, so you have to be careful with additional jet modules in zone templates.&lt;br /&gt;
&lt;br /&gt;
In summary, the steps are&lt;br /&gt;
&lt;br /&gt;
 1. make_template myclient zones&lt;br /&gt;
 2. (optional) edit the zones section to add the zone names to be used&lt;br /&gt;
 3. make_zone_template &amp;lt;zone&amp;gt;&lt;br /&gt;
 4. make_client &amp;lt;zone&amp;gt;&lt;br /&gt;
 5. make_client &amp;lt;client&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Further comments are within the the zone template&lt;br /&gt;
&lt;br /&gt;
==== How does flash work with JET ? ====&lt;br /&gt;
&lt;br /&gt;
The JetFLASH module can be added in like any other&lt;br /&gt;
&lt;br /&gt;
make_template -f -T &amp;lt;template&amp;gt; &amp;lt;template&amp;gt; flash&lt;br /&gt;
&lt;br /&gt;
Simply edit the template, get to the new flash section and edit the flash_archive=&lt;br /&gt;
with the path to your NFS shared flar file&lt;br /&gt;
&lt;br /&gt;
line, taking note of the example higher up&lt;br /&gt;
&lt;br /&gt;
ie&lt;br /&gt;
flash_archive_locations=&amp;quot;nfs://10.1.1.11/archives/sample&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Rerun make_client and JumpStart&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== What is the recommended flash creation line =====&lt;br /&gt;
A recommended line to produce a flash archive&lt;br /&gt;
&lt;br /&gt;
flarcreate -n &amp;quot;&amp;lt;Something meaningfull&amp;gt;&amp;quot; -R / -S -c file&lt;br /&gt;
&lt;br /&gt;
ie:&lt;br /&gt;
&lt;br /&gt;
flarcreate -n &amp;quot;Sol10 U2+Rec Patches&amp;quot; -R / -S -c /var/tmp/s10.flar&lt;br /&gt;
&lt;br /&gt;
==== Using Jet-4.1, how do I get 'sds' and 'flash' to work together - ie, after applying a flash image, I then want to mirror with the 'sds' module. ====&lt;br /&gt;
&lt;br /&gt;
You use JET exactly as you would do for a normal build; it just&lt;br /&gt;
means that the usual profile information (cluster etc) gets&lt;br /&gt;
ignored and the initial install is done from a flash archive.&lt;br /&gt;
&lt;br /&gt;
make_template -f client1 base_config flash sds&lt;br /&gt;
&lt;br /&gt;
edit as usual, build as usual and the sds stuff will get applied&lt;br /&gt;
after the first reboot, exactly as a normal JET build.&lt;br /&gt;
&lt;br /&gt;
==== Is it possible to include the DB and application into the install? ====&lt;br /&gt;
&lt;br /&gt;
Absolutely; if you can script the installation and configuration of the DB and application, then JumpStart and/or JET can happily set things up during the install of Solaris.&lt;br /&gt;
&lt;br /&gt;
Use the resources at http://jet.maui.co.uk/wiki/index.php/Resources for pointers to documentation and email aliases to help if required.&lt;br /&gt;
&lt;br /&gt;
==== How can I add packages after the initial installation and patching? ====&lt;br /&gt;
&lt;br /&gt;
Solaris packages (i.e. the ones that come on the main Solaris CD's) are added using the base_config_add_package / base_config_add_cluster options in the template; these then instruct the Solaris installer to deal with them.&lt;br /&gt;
&lt;br /&gt;
To install other arbitrary packages, patches, files or scripts, look at the 'custom' module that is included in the main SUNWjet package. It has options for custom_packages and custom_patches, along with similar constructs for files and scripts.&lt;br /&gt;
&lt;br /&gt;
Be sure to read the http://jet.maui.co.uk/wiki/index.php/JETPrimer page, as it has an example of using the 'custom' module.&lt;br /&gt;
&lt;br /&gt;
==== Adding Mount Options ====&lt;br /&gt;
&lt;br /&gt;
The base_config_profile_s?_mtpt variables are used to populate the&lt;br /&gt;
client profile. The client profile allows commands such as&lt;br /&gt;
&lt;br /&gt;
filesys c1t4d0s0 1024 /var nosuid&lt;br /&gt;
&lt;br /&gt;
so you should be able to do something like&lt;br /&gt;
&lt;br /&gt;
base_config_profile_s5_mtpt=&amp;quot;/var nosuid&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Just remember the quotes!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== How do I create additional disk/mirrors ====&lt;br /&gt;
&lt;br /&gt;
JET can be used to create additional mirrors by creating the slices in the base_config section&lt;br /&gt;
&lt;br /&gt;
 ############&lt;br /&gt;
 #&lt;br /&gt;
 # You can specify additional disks to use/configure here&lt;br /&gt;
 #&lt;br /&gt;
 # additional_disks is a space separated list of c?t?d? type disk names&lt;br /&gt;
 #&lt;br /&gt;
 # For each disk listed in additional_disks, a pair of variables of the form&lt;br /&gt;
 #&lt;br /&gt;
 # base_config_profile_disk_c?t?d?s?_mtpt=&amp;quot;....&amp;quot;&lt;br /&gt;
 # base_config_profile_disk_c?t?d?s?_size=&amp;quot;....&amp;quot;&lt;br /&gt;
 #&lt;br /&gt;
 # should be defined for each slice required on the disk.&lt;br /&gt;
 #&lt;br /&gt;
 # N.B. DO NOT SET THE BOOT DISK UP HERE !&lt;br /&gt;
 #&lt;br /&gt;
 base_config_profile_additional_disks=&amp;quot;&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
ie:- If you have disks on c3 and c4 you want to mirror to c5 and c6, 1st lay out the partitions&lt;br /&gt;
&lt;br /&gt;
 base_config_profile_addtional_disks=&amp;quot;c3t0d0 c4t0d0&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 base_config_profile_disk_c3t0d0s0_mtpt=&amp;quot;/export/extra&amp;quot;&lt;br /&gt;
 base_config_profile_disk_c3t0d0s0_size=&amp;quot;10240&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 base_config_profile_disk_c4t0d0s3_mtpt=&amp;quot;/export/extra2&amp;quot;&lt;br /&gt;
 base_config_profile_disk_c4t0d0s3_size=&amp;quot;10240&amp;quot;&lt;br /&gt;
&lt;br /&gt;
etc etc&lt;br /&gt;
&lt;br /&gt;
And then use the &amp;quot;simple mirrors&amp;quot; bit of the sds template&lt;br /&gt;
&lt;br /&gt;
 ############&lt;br /&gt;
 #&lt;br /&gt;
 # You can also describe other simple mirrors - these only work if you define&lt;br /&gt;
 # the partitions in the base_config_profile_disk_ variables&lt;br /&gt;
 #&lt;br /&gt;
 # The format of this variable is a space separated list of source=target,&lt;br /&gt;
 # i.e. c0t1d0=c1t1d0 where the source is the primary&lt;br /&gt;
 #&lt;br /&gt;
 sds_simple_mirrors=&amp;quot;c3t0d0=c5t0d0 c4t0d0=c6t0d0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Anything more complicated can be achived by creating a md.tab and supplying it to the build (via the SDS module), as there was/is no point in re-inventing the wheel.&lt;br /&gt;
&lt;br /&gt;
==== JetZONES and other modules - an anomoly ====&lt;br /&gt;
&lt;br /&gt;
JetZONES will work with other modules as normal, except you will see error messages about being unable to locate packages (see below)&lt;br /&gt;
&lt;br /&gt;
This is because the zones module is intended to be architecture neutral and you will see the base_config_ClientArch= is set to &amp;quot;zone&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
After a heavy dig around the code, the only work around would be to change JET core, and that is just not going to happen.&lt;br /&gt;
&lt;br /&gt;
So, it is a case of &amp;quot;BE AWARE&amp;quot; that errors similar to below will appear when you run make_client against the zone template.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Although it says &amp;quot;FAILED&amp;quot; it will still have made the /opt/SUNWjet/Clients/&amp;lt;client&amp;gt; dir&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
An example below shows the build still worked&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
make_client output&lt;br /&gt;
&lt;br /&gt;
 checking product base_config/solariszone&lt;br /&gt;
 Checking product custom&lt;br /&gt;
 WARNING: CUSTOM: Unable to locate custom package SFWmozilla&lt;br /&gt;
 --------------------------------------------------------------&lt;br /&gt;
 Check of client b1-zone1 &lt;br /&gt;
  &lt;br /&gt;
 #######                                                   ###&lt;br /&gt;
 #          ##       #    #       ######  #####            ###&lt;br /&gt;
 #         #  #      #    #       #       #    #           ###&lt;br /&gt;
 #####    #    #     #    #       #####   #    #            #&lt;br /&gt;
 #        ######     #    #       #       #    #&lt;br /&gt;
 #        #    #     #    #       #       #    #           ###&lt;br /&gt;
 #        #    #     #    ######  ######  #####            ###&lt;br /&gt;
&lt;br /&gt;
jumpstart.log output&lt;br /&gt;
&lt;br /&gt;
 CUSTOM: Installing custom....&lt;br /&gt;
 CUSTOM: Installing SFWmozilla from: //var/opt/sun/jet/js_media/pkg/custom/i386&lt;br /&gt;
 &lt;br /&gt;
 Installation of SFWmozilla was successful.&lt;br /&gt;
 CUSTOM: SFWmozilla installation complete&lt;br /&gt;
 CUSTOM: Register postinstall script 'postinstall' for boot n&lt;br /&gt;
 ----------------------------------------------------------&lt;br /&gt;
 Product modules processed, finish up installation tasks&lt;br /&gt;
 Creating directory: /var/opt/sun/jet/system.add/updated&lt;br /&gt;
 Copying file etc/jumpstart.conf to //var/opt/sun/jet/config/jumpstart.conf&lt;br /&gt;
 Copying file Utils/smf/jetjump.xml to //var/svc/manifest/site/jetjump.xml&lt;br /&gt;
 Copying file Utils/S99jumpstart to //var/opt/sun/jet/post_install/S99jumpstart&lt;br /&gt;
 NFS Unmounting Media Directories&lt;br /&gt;
 Unmounting /var/opt/sun/jet/js_media/pkg&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting ===&lt;br /&gt;
&lt;br /&gt;
==== Solaris x86 Media on Sparc (and vice-versa) ====&lt;br /&gt;
&lt;br /&gt;
Jumpstarting with x86 Laptops and SPARC systems&lt;br /&gt;
&lt;br /&gt;
Typically a nice use for laptops is to automate the install or to allow&lt;br /&gt;
the install of systems lacking a CD-ROM drive.&lt;br /&gt;
&lt;br /&gt;
Running setup-install-server&lt;br /&gt;
&lt;br /&gt;
Prior to Solaris 9, you could use the SPARC Solaris CD and run&lt;br /&gt;
setup-install-server on your laptop as well as using an x86 Solaris CD&lt;br /&gt;
on a SPARC based system.&lt;br /&gt;
&lt;br /&gt;
This is no longer the case.&lt;br /&gt;
&lt;br /&gt;
The layout of the CD's for Solaris 8 an prior would contain a copy of&lt;br /&gt;
the miniroot under &amp;quot;Boot&amp;quot; in the Tools directory of the CD-ROM. The&lt;br /&gt;
whole filesystem would be of the &amp;quot;hsfs&amp;quot; type and thus readable across&lt;br /&gt;
architectures.&lt;br /&gt;
&lt;br /&gt;
 user:/cdrom/sol_8_202_ia/Solaris_8/Tools% ls -l&lt;br /&gt;
 total 187&lt;br /&gt;
 drwxr-xr-x  18 root     other       4096 Dec 18  2001 Boot/&lt;br /&gt;
 -rwxr-xr-x   1 root     bin        59058 Nov 27  2001 add_install_client&lt;br /&gt;
 -rwxr-xr-x   1 root     sys         1325 Nov 27  2001 dial&lt;br /&gt;
 -rwxr-xr-x   1 root     bin        18599 Nov 27  2001 rm_install_client&lt;br /&gt;
 -rwxr-xr-x   1 root     bin        11689 Nov 27  2001 setup_install_server&lt;br /&gt;
 &lt;br /&gt;
 user@machine:/cdrom/sol_8_202_sparc/s0/Solaris_8/Tools% ls -l&lt;br /&gt;
 total 187&lt;br /&gt;
 drwxr-xr-x  17 root     other       4096 Dec 18  2001 Boot/&lt;br /&gt;
 -rwxr-xr-x   1 root     bin        59058 Nov 27  2001 add_install_client&lt;br /&gt;
 -rwxr-xr-x   1 root     sys         1325 Nov 27  2001 dial&lt;br /&gt;
 -rwxr-xr-x   1 root     bin        18599 Nov 27  2001 rm_install_client&lt;br /&gt;
 -rwxr-xr-x   1 root     bin        11689 Nov 27  2001 setup_install_server&lt;br /&gt;
 &lt;br /&gt;
 user@machine:/% fstyp /vol/dev/dsk/c7t1d0/sol_8_202_ia&lt;br /&gt;
 hsfs&lt;br /&gt;
 user@machine:/% fstyp /vol/dev/dsk/c1t6d0/sol_8_202_sparc/s0&lt;br /&gt;
 hsfs&lt;br /&gt;
 user@machine:/% fstyp /vol/dev/dsk/c7t1d0/sol_8_202_ia&lt;br /&gt;
 hsfs&lt;br /&gt;
&lt;br /&gt;
s1 contains a ufs copy of the miniroot as well. This is what you're&lt;br /&gt;
actually running from when you boot off of the CD. However, as ufs is&lt;br /&gt;
architecture specific, you can't mount a SPARC ufs partition on an x86&lt;br /&gt;
box and vice versa.&lt;br /&gt;
&lt;br /&gt;
 user@machine:/% fstyp /vol/dev/dsk/c1t6d0/sol_8_202_sparc/s1&lt;br /&gt;
 ufs&lt;br /&gt;
&lt;br /&gt;
Starting with Solaris 9, there isn't enough space on CD 1 of 2. CD 1 of&lt;br /&gt;
2 should be all that is needed to do an &amp;quot;End User&amp;quot; install. Certain&lt;br /&gt;
packages therefore need to be included there.&lt;br /&gt;
&lt;br /&gt;
The hsfs copy of the miniroot takes up over 200M in the Solaris 8 2/02.&lt;br /&gt;
Freeing up this space was necessary.&lt;br /&gt;
&lt;br /&gt;
With Solaris 9, the &amp;quot;Boot&amp;quot; directory looks like this:&lt;br /&gt;
&lt;br /&gt;
 user@machine:/cdrom/sol_9_sparc/s0/Solaris_9/Tools% ls -l&lt;br /&gt;
 total 184&lt;br /&gt;
 lrwxrwxrwx   1 root     other         11 Apr 15  2002 Boot -&amp;gt; ../../../s1&lt;br /&gt;
 -rwxr-xr-x   2 root     bin        59586 Apr 15  2002 add_install_client&lt;br /&gt;
 -rwxr-xr-x   2 root     sys         1325 Apr 15  2002 dial&lt;br /&gt;
 -rwxr-xr-x   2 root     bin        18599 Apr 15  2002 rm_install_client&lt;br /&gt;
 -rwxr-xr-x   2 root     bin        13045 Apr 15  2002 setup_install_server&lt;br /&gt;
&lt;br /&gt;
s1 however is ufs, which is architecture specific.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 user@machine:/% fstyp /vol/dev/dsk/c1t0d0/sol_9_sparc/s1&lt;br /&gt;
 ufs&lt;br /&gt;
&lt;br /&gt;
If I attempt to run &amp;quot;setup_install_server&amp;quot; on my x86 laptop from a SPARC&lt;br /&gt;
Solaris 9 CD, you get the following:&lt;br /&gt;
&lt;br /&gt;
 # pwd&lt;br /&gt;
 /cdrom/sol_9_sparc/Solaris_9/Tools&lt;br /&gt;
 # ./setup_install_server /export/install/Solaris_9&lt;br /&gt;
 ERROR: Install boot image /cdrom/sol_9_sparc/Solaris_9/Tools/Boot does &lt;br /&gt;
 not exist&lt;br /&gt;
        Check that boot image exists, or use [-t] to&lt;br /&gt;
        specify a valid boot image elsewhere&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Getting it to work&lt;br /&gt;
These instructions are architecture neutral. They will work if you are&lt;br /&gt;
trying to configure jumpstart from an x86 server to a SPARC client or&lt;br /&gt;
setting up a SPARC server to jumpstart x86 clients.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Option 1: Use the DVD&lt;br /&gt;
 &lt;br /&gt;
 The Solaris OE on DVD has enough space to continue to include the&lt;br /&gt;
 miniroot in the architecture neutral portion of itself. The format is&lt;br /&gt;
 udfs, which is used for DVD's instead of hsfs for CD's.&lt;br /&gt;
 &lt;br /&gt;
 This assumes that you, of course, HAVE a DVD drive.&lt;br /&gt;
 &lt;br /&gt;
 The downside of this is that you get a bunch of stuff that might not&lt;br /&gt;
 want to include on your install image. Things such as all of&lt;br /&gt;
 localizations and languages take up space on your server's harddrive.&lt;br /&gt;
&lt;br /&gt;
Option 2: Create 2 JumpStart servers&lt;br /&gt;
&lt;br /&gt;
 You can run the setup_install_server script on the system of the same&lt;br /&gt;
 architecture and then share it out via NFS to the other system. This of&lt;br /&gt;
 course assumes that you have enough temporary space on the system.&lt;br /&gt;
 &lt;br /&gt;
 Mount up the CD-ROM locally and run &amp;quot;setup_install_server&amp;quot; as if you&lt;br /&gt;
 were going to make the system you're on a jumpstart server. I recommend&lt;br /&gt;
 installing to /export/install, but you may have another preference.&lt;br /&gt;
 After the 1st CD completes, you can add in the second one to the install&lt;br /&gt;
 image if you like or add it after you've transferred the image over.&lt;br /&gt;
 &lt;br /&gt;
 Share out the image via NFS my manually sharing it out using the share&lt;br /&gt;
 command or through /etc/dfs/dfstab with a line similar to this:&lt;br /&gt;
&lt;br /&gt;
 #Share out the jumpstart directory for installs&lt;br /&gt;
 share -F nfs -o ro,anon=0 /export/install&lt;br /&gt;
 &lt;br /&gt;
 Start the NFS server if necessary.&lt;br /&gt;
 &lt;br /&gt;
 Mount up the shared directory to your desired server.&lt;br /&gt;
 &lt;br /&gt;
 Run &amp;quot;setup_install_server&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Option 3: Use NFS&lt;br /&gt;
&lt;br /&gt;
 Using NFS, gets around the architecture issue with ufs. You can mount a&lt;br /&gt;
 NFS share on a client and the client doesn't care what the underlying&lt;br /&gt;
 filesystem is on the server.&lt;br /&gt;
 &lt;br /&gt;
 The downside here is that its a bit more complex and that it may take a&lt;br /&gt;
 bit longer to setup because you have to install the image over the&lt;br /&gt;
 network. Also, you'll need 2 systems, a SPARC based one and a x86 one.&lt;br /&gt;
 &lt;br /&gt;
 Add the following line to your /etc/rmmount.conf on the system of the&lt;br /&gt;
 same architecture that you want to create a jumpstart image of. (If you&lt;br /&gt;
 want to put a copy of Solaris 9 SPARC on your x86 laptop, add this line&lt;br /&gt;
 to the SPARC system. If you want to do put a Solaris 9 x86 image on your&lt;br /&gt;
 SPARC system, the line goes in your x86 system's rmmount.conf)&lt;br /&gt;
 &lt;br /&gt;
 # share out the CD-ROM&lt;br /&gt;
 share cdrom* -o ro,anon=0&lt;br /&gt;
 &lt;br /&gt;
 This line causes vold automatically share out the CD-ROM and all&lt;br /&gt;
 partitions on that CD. This is needed because NFS sharing doesn't span&lt;br /&gt;
 filesystems automatically. &amp;quot;anon=0&amp;quot; causes reads by UID=0, which is&lt;br /&gt;
 normally mapped to user &amp;quot;nobody&amp;quot; by NFS for security reasons to remain&lt;br /&gt;
 mapped to UID=0. This isn't a security issue here because the CD is a&lt;br /&gt;
 Read-Only medium anyways.&lt;br /&gt;
 &lt;br /&gt;
 You will need to re-start vold. Runnning &amp;quot;/etc/init.d/volmgt stop&amp;quot; and&lt;br /&gt;
 &amp;quot;/etc/init.d/volmgt start&amp;quot; will do this.&lt;br /&gt;
 &lt;br /&gt;
 You'll likely need to start up the NFS server processes as well. You can&lt;br /&gt;
 either manually start them each time you boot your system or put the&lt;br /&gt;
 following into /etc/dfs/dfstab&lt;br /&gt;
 &lt;br /&gt;
 share -F nfs -o ro,anon=0 /cdrom&lt;br /&gt;
 &lt;br /&gt;
 If you don't have NFS already sharing out filesystems, you'll need to&lt;br /&gt;
 start it by running &amp;quot;/etc/init.d/nfs.server start&amp;quot; as root.&lt;br /&gt;
 &lt;br /&gt;
 At this point, drop in your CD into the appropriate system. It should&lt;br /&gt;
 mount and share things automatically.&lt;br /&gt;
 &lt;br /&gt;
 # mount&lt;br /&gt;
 /cdrom/sol_9_x86/s2 on /vol/dev/dsk/c1t0d0/sol_9_x86/s2 read &lt;br /&gt;
only/nosuid/maplcase/noglobal/rr/traildot/dev=1740003 on Tue Dec  3 &lt;br /&gt;
15:09:39 2002&lt;br /&gt;
 /cdrom/sol_9_x86/s0 on /vol/dev/dsk/c1t0d0/sol_9_x86/s0 read &lt;br /&gt;
only/nosuid/intr/largefiles/onerror=panic/dev=1740001 on Tue Dec  3 &lt;br /&gt;
15:09:39 2002&lt;br /&gt;
 &lt;br /&gt;
 # share&lt;br /&gt;
 -               /cdrom   ro,anon=0   &amp;quot;&amp;quot;&lt;br /&gt;
 -               /cdrom/sol_9_x86/s2   ro,anon=0   &amp;quot;&amp;quot;&lt;br /&gt;
 -               /cdrom/sol_9_x86/s0   ro,anon=0   &amp;quot;&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 At this point you should be able to CD down&lt;br /&gt;
 to the appropriate location to run your setup_install_server.&lt;br /&gt;
 &lt;br /&gt;
 # pwd&lt;br /&gt;
 /&lt;br /&gt;
 # cd /cdrom/sol_9_x86/s2/Solaris_9/Tools&lt;br /&gt;
 # pwd&lt;br /&gt;
 /cdrom/sol_9_x86/s2/Solaris_9/Tools&lt;br /&gt;
 # ls&lt;br /&gt;
 Boot                  dial                  setup_install_server&lt;br /&gt;
 add_install_client    rm_install_client&lt;br /&gt;
 &lt;br /&gt;
 Alternately, you can mount up the directories manually. For example: &lt;br /&gt;
 &lt;br /&gt;
 # mount -F nfs -o ro dhcp-ublm02-228-227:/cdrom /mnt&lt;br /&gt;
 # mount -F nfs -o ro dhcp-ublm02-228-227:/cdrom/sol_9_x86/s0 /mnt/sol_9_x86/s0&lt;br /&gt;
 # mount -F nfs -o ro dhcp-ublm02-228-227:/cdrom/sol_9_x86/s2 /mnt/sol_9_x86/s2&lt;br /&gt;
 &lt;br /&gt;
 All 3 mounts are needed as we have 3 separate filesystems and NFS&lt;br /&gt;
 doesn't span filesystems.&lt;br /&gt;
 &lt;br /&gt;
 Now run your &amp;quot;setup_install_server&amp;quot; script. &lt;br /&gt;
 &lt;br /&gt;
 # ./setup_install_server /export/install/sol_9_x86&lt;br /&gt;
 Verifying target directory...&lt;br /&gt;
 Calculating the required disk space for the Solaris_9 product&lt;br /&gt;
 Calculating space required for the installation boot image&lt;br /&gt;
 Copying the CD image to disk...&lt;br /&gt;
 Copying Install Boot Image hierarchy...&lt;br /&gt;
 Install Server setup complete&lt;br /&gt;
&lt;br /&gt;
 You can either install the CDROM 2 of 2 through this method or drop it&lt;br /&gt;
 in locally as it is in the hsfs format.&lt;br /&gt;
&lt;br /&gt;
There are lots of ways that this can be done outside of this particular&lt;br /&gt;
method. Your mileage may vary.&lt;br /&gt;
&lt;br /&gt;
==== ARP/RARP Timeouts ====&lt;br /&gt;
&lt;br /&gt;
When building a server, you can get the ethernet address from the Open Boot Prom 'banner' command at the 'ok' prompt. By default, this ethernet address is shared between all the ethernet interfaces of the host, so performing a JumpStart off an ethernet interface other than the default alias 'net' proceeds as normal.&lt;br /&gt;
&lt;br /&gt;
When using IPMP or Sun Cluster 3, the value of the Open Boot Prom 'local-mac-address' option is set to true which in turn means that every ethernet interface uses it's own ethernet address, and not the hardcoded one in the Open Boot Prom.&lt;br /&gt;
&lt;br /&gt;
On subsequent re-build attempts over the onboard default 'net' interface, everything is ok; however, if you are building over a different device to 'net' the ethernet address may not match the one you originally used in your template.&lt;br /&gt;
&lt;br /&gt;
As the JumpStart server /etc/ethers files does not match this new ethernet address, it is unable to reply to the booting machine, hence the extended period of ARP/RARP timeouts.&lt;br /&gt;
&lt;br /&gt;
To locate mac addresses for different adapters when local-mac-address? is set to true, you can do the following:&lt;br /&gt;
&lt;br /&gt;
    * At the OBP prompt, do a 'show-nets' to list the network adapters available&lt;br /&gt;
    * Select the adapter&lt;br /&gt;
    * cd &amp;lt;ctrl+y&amp;gt;&lt;br /&gt;
    * .properties&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== System hangs at a # prompt ====&lt;br /&gt;
&lt;br /&gt;
If 'diag-switch?' is set to true in OBP, the system will hang at the '#' prompt prior to rebooting, just after Solaris has installed.&lt;br /&gt;
&lt;br /&gt;
This seems to happen on all types of hosts from V100's through to F15Ks. You need to use the appropriate commands to change the obp setting depending on your platform.&lt;br /&gt;
&lt;br /&gt;
==== Forcing Speed/Duplex during JumpStart ====&lt;br /&gt;
&lt;br /&gt;
You really should just use Auto-negotiation on switches; it works these days and is reliable.&lt;br /&gt;
&lt;br /&gt;
Turning autonegotiation off and setting speed/mode manually is called&lt;br /&gt;
&amp;quot;forced mode&amp;quot;.&lt;br /&gt;
For the Sun[TM] GigaSwift on-board interfaces and Network Interface Cards&lt;br /&gt;
(ce), and for bge on-board interfaces, boot in &amp;quot;forced mode&amp;quot; is possible.&lt;br /&gt;
&lt;br /&gt;
In jumpstart &amp;quot;boot net&amp;quot;, 3 steps are involved.&lt;br /&gt;
The driver must be forced in all 3 steps of the jumpstart boot process.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1st Step: force the interface on boot prom for booting&lt;br /&gt;
&lt;br /&gt;
 ok boot /pci@1f,2000/pci@1/network@0:speed=100,duplex=full,&lt;br /&gt;
        or&lt;br /&gt;
 ok devalias net /pci@1f,2000/pci@1/network@0:speed=100,duplex=full,&lt;br /&gt;
 ok boot net&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2nd Step: inetboot is loaded.&lt;br /&gt;
&lt;br /&gt;
 An inetboot file on the boot server which honours the &amp;quot;forced&amp;quot; ce setting is needed. &lt;br /&gt;
 This is included in Solaris 8 Patch-ID# 111306-05 , for Solaris 9, it's&lt;br /&gt;
 Patch-ID# 113578-01 .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3rd Step: client uses the OS from the file system of the boot server&lt;br /&gt;
&lt;br /&gt;
 create a&lt;br /&gt;
 ../Boot/platform/sun4u/kernel/drv/ce.conf  or&lt;br /&gt;
 ../Boot/platform/sun4u/kernel/drv/bge.conf&lt;br /&gt;
 (the same directory, in which the ce 32 bit driver sits, one single line,&lt;br /&gt;
 example for 100 FDX):&lt;br /&gt;
 &lt;br /&gt;
 adv_autoneg_cap=0 adv_1000fdx_cap=0 adv_1000hdx_cap=0 adv_100fdx_cap=1 &lt;br /&gt;
 adv_100hdx_cap=0 adv_10fdx_cap=0 adv_10hdx_cap=0;&lt;br /&gt;
&lt;br /&gt;
==== JumpStart &amp;amp; JET logs ====&lt;br /&gt;
&lt;br /&gt;
JumpStart saves a log of the output from the system install in the file /var/sadm/system/logs/finish.log. The bad news, is that only covers the log output up to the reboot at the end of the initial install.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
JET includes post-reboot processing in most cases, so the complete JET log (a superset of the JumpStart log) can be found at /var/opt/sun/jet/jumpstart_install.log. There is also a link to the system log called finish.log in the same directory.&lt;br /&gt;
&lt;br /&gt;
The JET log will include the system finish log output and also any output from JET processing at subsequent reboots.&lt;br /&gt;
&lt;br /&gt;
==== Solaris 10, SSH doesn't start ====&lt;br /&gt;
&lt;br /&gt;
When JumpStart'ing Solaris 10 GA (and maybe some of the updates), the ssh software is installed but the daemon doesn't start; 'svcs -a' reporting it in a maintenance state.&lt;br /&gt;
&lt;br /&gt;
The root cause is that the ssh host key is not created for some reason, so you need to execute the following commands:&lt;br /&gt;
&lt;br /&gt;
 /lib/svc/method/sshd -c&lt;br /&gt;
 /usr/sbin/svcadm clear network/ssh&lt;br /&gt;
&lt;br /&gt;
In JET, you could put the commands into a script in /opt/jet/Clients/common.files/fixup-ssh and then use custom_scripts=&amp;quot;fixup-ssh&amp;quot; to get JET to fix the problem for you.&lt;br /&gt;
&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 #&lt;br /&gt;
 # Fix Up SSH on Solaris 10&lt;br /&gt;
 #&lt;br /&gt;
 if [ ! -f /etc/ssh/ssh_host_rsa_key -o ! -f /etc/ssh/ssh_host_dsa_key ]; then&lt;br /&gt;
        /lib/svc/method/sshd -c &lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 /usr/sbin/svcadm clear network/ssh&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== TFTP Problems While Booting ====&lt;br /&gt;
&lt;br /&gt;
A number of people have come across problems with TFTP; specifically TFTP failing during (or sometimes at the start of) a transfer.&lt;br /&gt;
&lt;br /&gt;
TFTP is the 'Trivial File Transfer Protocol' and as such has some simple limitations. One such, is that the original protocol allows up to 65,536 blocks to be transferred; each block defaulting to 512 bytes -&amp;gt; 32Mb limit.&lt;br /&gt;
&lt;br /&gt;
Some implementations allow the block size to be increased, others allow the block counter to roll-over; 65,536 == 0 again.&lt;br /&gt;
&lt;br /&gt;
Sun changed their in.tfptd implementation between Solaris 8 and 9, and from tests, it seems they have added the 'change block size' code. Tests on Solaris 9 and 10 indicate that the Sun in.tftpd server still stops at block 65,536 though.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Solaris 10 Update 1 for x86/64 has a new boot mechanism, and the file to be downloaded via TFTP is 48Mb or so. If you are using a Solaris 8 JumpStart server, then you are going to hit trouble. Either move to Solaris 9 or you could try and take the in.tftpd binary from a Solaris 9 client.If things still don't work, then you could go off and google for a replacement tftpd server; http://www.kernel.org/pub/software/network/tftp/ has done the trick for me in the past, and doesn't need much to convince it to compile under Solaris.&lt;br /&gt;
&lt;br /&gt;
==== Solaris 10 Update 1 and Flash archive problems ====&lt;br /&gt;
&lt;br /&gt;
When deploying a flash archive taken from a Solaris 10 Update 1 install, the initial flash completes, but subsequent JET processing stops after the first reboot.&lt;br /&gt;
&lt;br /&gt;
When you build a system using flash on Solaris 10, the smf(1m) database gets stored as part of the flash archive. Under Solaris 10 GA/FCS, the smf(1m) database entries were keyed using the manifest inode number (amongst other things), so when you redeployed the flash, the inode numbers changed and smf(1m) re-scanned the manifest files.&lt;br /&gt;
&lt;br /&gt;
Under Solaris 10 Update 1, Sun have removed the inode time from the database key, so it doesn't rebuild the database as it used to.&lt;br /&gt;
&lt;br /&gt;
If you built the original system using JET, the jetjump.xml file is still 'known about' by the smf(1m) database, so when you come to deploy the flash archive using JET, smf(1m) happily ignores the newly deposited jetjump.xml file.&lt;br /&gt;
&lt;br /&gt;
Officially, this is a bug/feature introduced in Solaris 10 Update 1 (BugID 6251841). The version of JET about to be released has a work around for this situation, so it will go away.&lt;br /&gt;
&lt;br /&gt;
The work around for now, is to do the following *before* creating the flash archive:&lt;br /&gt;
&lt;br /&gt;
 # svccfg -s smf/manifest delpg var_svc_manifest_site_jetjump_xml&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This 'feature' is also present in Nevada builds (Solaris Express / Solaris 11).&lt;br /&gt;
&lt;br /&gt;
==== Unable to locate suitable disks ====&lt;br /&gt;
&lt;br /&gt;
If you install Solaris onto scrubbed disks which have no Solaris label on them, the install will halt because it can't find disks to install too. This is normally more of an issue with x86 systems that don't have a Solaris partition, but can also be encountered on Sparc boxes too.&lt;br /&gt;
&lt;br /&gt;
On Sparc systems, use the 'format' command to 'label' the disks; on x86, fdisk can be used to create a Solaris partition.&lt;br /&gt;
&lt;br /&gt;
==== I am warned about missing patches, but cannot add ====&lt;br /&gt;
&lt;br /&gt;
If you get the warning&lt;br /&gt;
&lt;br /&gt;
 WARNING: Patch 119375-11 has not been applied to the boot image.&lt;br /&gt;
&lt;br /&gt;
And then run the patchadd -C command as instructed, only to be told the patch is already present,&lt;br /&gt;
&lt;br /&gt;
This may be because patchadd was broken in Solaris 10 (03/05) and failed to check correctly. This has been fixed with later versions/patches.&lt;br /&gt;
&lt;br /&gt;
Alternatively if you are using Solaris 10 01/06 or later there is an issue that patchadd cannot check the mini-root.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As it is only a WARNING, it will not cause make_client to fail. If make_client fails, look back to identify earlier FAIL messages.&lt;br /&gt;
&lt;br /&gt;
A future release of JET may well bypass this error&lt;br /&gt;
&lt;br /&gt;
=== Bug / Problem Reporting ===&lt;br /&gt;
&lt;br /&gt;
==== Having Problems with JET and need help ? ====&lt;br /&gt;
&lt;br /&gt;
If you post a question here that concerns a specific problem you are seeing with JET, then please include the template and the output from /var/opt/sun/jet/jumpstart_install.log - or at the very least, say you have that information and be prepared to send it on to who ever elects to try to help you. &lt;br /&gt;
&lt;br /&gt;
==== Reporting a Bug ====&lt;br /&gt;
&lt;br /&gt;
Think you've found a bug in JET ? If so, first up check it is a bug by asking the appropriate question on this website or send your theory and reasoning to jet@sun.com.&lt;br /&gt;
&lt;br /&gt;
JET 'evolved' over about 5+ years, so the chance of someone making a mistake in the scripting is not beyond possibility! It could however be something JET was not designed for in which case it's an RFE - Request For Enhancement.&lt;br /&gt;
&lt;br /&gt;
==== Request For Enhancements (RFEs) ====&lt;br /&gt;
&lt;br /&gt;
If you discover something you want changed in JET, then it normally falls into two categories:&lt;br /&gt;
&lt;br /&gt;
    Implement it in a module&lt;br /&gt;
&lt;br /&gt;
        Support for non-core features or additional configuration work can be easily delivered through a new JET module. This way, the main code base stays unaffected for the vast majority of people who use it, and the module can evolve as the authors see fit.&lt;br /&gt;
&lt;br /&gt;
    Submit the change as an RFE&lt;br /&gt;
&lt;br /&gt;
        If the feature needs to go into the main JET package or one of the pre-supplied modules and can not be delivered as a module, then you need to discuss the matter with the JET folks at Sun (jet@sun.com) and work on drafting an RFE. Depending on how much they agree with your suggestion and how much time they have, the actual change could be made quickly or could take months - such is the nature of change.&lt;/div&gt;</summary>
		<author><name>Marty</name></author>
	</entry>
	<entry>
		<id>https://jet.maui.co.uk/wiki/index.php?title=Faq&amp;diff=1459</id>
		<title>Faq</title>
		<link rel="alternate" type="text/html" href="https://jet.maui.co.uk/wiki/index.php?title=Faq&amp;diff=1459"/>
		<updated>2014-01-03T11:41:27Z</updated>

		<summary type="html">&lt;p&gt;Marty: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Frequently Asked Questions ==&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
&lt;br /&gt;
==== What are these '.pkg'/'pkg.bz2' files ? ====&lt;br /&gt;
&lt;br /&gt;
&amp;quot;I've just downloaded the packages from the website, and now have files with a .pkg suffix. What do I do next ?&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The files you have are datastream packages. To install them, run&lt;br /&gt;
&lt;br /&gt;
      pkgadd -d filename.pkg&lt;br /&gt;
&lt;br /&gt;
rather than the more usual pkgadd -d . [pkgname]&lt;br /&gt;
&lt;br /&gt;
You can migrate the datastream format packages to regular directory based packages by using the pkgtrans(1m) command.&lt;br /&gt;
&lt;br /&gt;
      pkgtrans filename.pkg . all&lt;br /&gt;
&lt;br /&gt;
Basically, read up on pkgadd(1m) and pkgtrans(1m) !&lt;br /&gt;
&lt;br /&gt;
==== A GUI Frontend for JET ====&lt;br /&gt;
&lt;br /&gt;
Is there a Web Front End for JET ?&lt;br /&gt;
&lt;br /&gt;
Probably the most frequently requested feature. The short answer is 'no, there is no generic web front end for JET'.&lt;br /&gt;
&lt;br /&gt;
The long answer is that typically, web front ends are written to expose a subset of the features available in JET. For the case of 'standard builds', you may wish to have a pull down list of available builds and just plug in the MAC and IP addresses etc.&lt;br /&gt;
&lt;br /&gt;
As these front ends, with only a subset of features presented, are very much customised for a particular use/customer, it's work you need to do!&lt;br /&gt;
&lt;br /&gt;
If a 'generic web front end' was provided, it would need to be kept up to date with every modification to the toolkit. Quite frankly, it isn't going to be that useful to many people.&lt;br /&gt;
&lt;br /&gt;
JET has been designed so it is pretty easy to front end yourself.&lt;br /&gt;
&lt;br /&gt;
==== Getting Help with JET ====&lt;br /&gt;
&lt;br /&gt;
There are a number of places you can go for help with JET; first up is obviously Sun themselves - Email the people who look after JET on the alias jet@sun.com and someone should get back to you pretty quickly (UK Timezone).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sun have also put up information on the JET BigAdmin page at http://www.sun.com/bigadmin/content/jet/ and Mike Ramchand (one of the authors) tends to write things about JET in his blog at http://blogs.sun.com/roller/page/mramcha/20050826&lt;br /&gt;
&lt;br /&gt;
External to Sun are a number of resources; there is a Yahoo group at http://groups.yahoo.com/group/JETJumpStart/ and of course, you can approach me (marty at Maui-Systems dot co dot uk) as the other author of the toolkit from when I used to work for Sun.&lt;br /&gt;
&lt;br /&gt;
==== Whats in the Free Bundle ? ====&lt;br /&gt;
&lt;br /&gt;
The JET bundle downloadable from http;//www.sun.com/downloads currently (as of May 2006) contains the following modules.&lt;br /&gt;
&lt;br /&gt;
    * SUNWjet - The core JET product&lt;br /&gt;
    * SUNWjetd - The documentation - Please read&lt;br /&gt;
    * JetSDS - Configure SVM/SDS&lt;br /&gt;
    * JetVTS - Install the Test Suite&lt;br /&gt;
    * JetEXPLO - Install and configure Explorer&lt;br /&gt;
    * JetFLASH - Utilise flash archives for installation&lt;br /&gt;
    * JetSAN - Configure SANs&lt;br /&gt;
    * JetJASS - JASS toolkit install and configuration&lt;br /&gt;
    * JetZONES - Add local zones to your Solaris 10 global zones as part of the build&lt;br /&gt;
    * JetWanBoot - Plugin to allow JET to perform WANBOOTt installations&lt;br /&gt;
    * JetRBAC - Enables none root users to run JET using RBAC&lt;br /&gt;
&lt;br /&gt;
Sun releases/refreshes the bundle on an ad-hoc basis and normally communicates this fact to the comp.unix.solaris and alt.solaris.x86 newsgroups.&lt;br /&gt;
&lt;br /&gt;
==== Solaris 10 U1 (01/06) grub/newboot ====&lt;br /&gt;
&lt;br /&gt;
With the release of Solaris 10 Update 1 (01/06), the x86/64 platform boot method was transitioned to 'grub', finally doing away with the old DCA pre-boot environment. This new boot method was refered to as &amp;quot;newboot&amp;quot; internally to Sun and the phrase seems to have stuck.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To deal with this a JetNEWBOOT module was developed to &amp;quot;plugin&amp;quot; to JET versions prior to JET 4.2 to support this new boot environment. When JET 4.2 is released, the 'grub' installation method will be part of the core JET product.&lt;br /&gt;
&lt;br /&gt;
When using JetNEWBOOT, all you need to amend in your template is the&lt;br /&gt;
&lt;br /&gt;
    * base_config_allocation_method=&amp;quot;newboot&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As a guide to what to use:&lt;br /&gt;
&lt;br /&gt;
    * With Solaris 10 GA (03/05)&lt;br /&gt;
          o base_config_allocation_method=&amp;quot;dhcp&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
    * With Solaris 10 Update 1 (01/06) and above, JET (&amp;lt; 4.2) and JetNEWBOOT&lt;br /&gt;
          o base_config_allocation_method=&amp;quot;newboot&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
    * With Solaris 10 Update 1 (01/06) and above, JET (&amp;gt;= 4.2)&lt;br /&gt;
          o base_config_allocation_method=&amp;quot;grub&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
JetNEWBOOT is now part of the downloadable bundle from Sun but will not be required once JET 4.2 is released.&lt;br /&gt;
&lt;br /&gt;
==== Using 'iso' images instead of CD/DVDs ====&lt;br /&gt;
&lt;br /&gt;
The following was derived from information at http://www.unix.com/showthread.php?t=18074&lt;br /&gt;
&lt;br /&gt;
When using Solaris ISO images, the start of the image contains a hsfs (high sierra filesystem) with a couple of ufs filesystems appended to the end of it.&lt;br /&gt;
&lt;br /&gt;
The problem, is that using lofiadm, only the hsfs image is spotted and made available; the ufs filesystems are not seen, so you end up with broken links to 's1' and the like.&lt;br /&gt;
&lt;br /&gt;
To set up a JumpStart server using Solaris ISO images, you must have access to both slice 0 and slice 1 on the image.&lt;br /&gt;
&lt;br /&gt;
To fix the problem, split the contents of slice 1 into it's own image file and then mount this image separately using lofi.&lt;br /&gt;
&lt;br /&gt;
The following procedure describes how to do this.&lt;br /&gt;
&lt;br /&gt;
 # ls -l sol-9*&lt;br /&gt;
 -rw-r--r-- 1 root root 576364544 Jan 1 11:16 sol-9-u1-sparc-v1.iso&lt;br /&gt;
 -rw-r--r-- 1 root root 291962880 Jan 1 21:42 sol-9-u1-sparc-v2.iso&lt;br /&gt;
 &lt;br /&gt;
 This only applies to CD 1, all other isos can be mounted using lofiadm in the normal way.&lt;br /&gt;
 &lt;br /&gt;
 1. Get a copy of the VTOC from the ISO image:&lt;br /&gt;
 &lt;br /&gt;
   # dd if=sol-9-u1-sparc-v1.iso of=vtoc bs=512 count=1&lt;br /&gt;
   1+0 records in&lt;br /&gt;
   1+0 records out&lt;br /&gt;
 &lt;br /&gt;
 2. Now find out where Slice 1 starts in the image and how long it is. The starting cylinder for slice 1 is located at offset 452 (decimal) into the VTOC; the length in blocks is at offset 456, with both being 4 bytes long.&lt;br /&gt;
 &lt;br /&gt;
   # od -D -j 452 -N 8 &amp;lt; vtoc&lt;br /&gt;
   0000000 0000000888 0000546560&lt;br /&gt;
   0000010&lt;br /&gt;
 &lt;br /&gt;
 Slice 1 starts on cylinder 888, and is 546,560 blocks long. CD for the Solaris OS always have 640 blocks per cylinder, so you can find the starting block of slice 1 as follows:&lt;br /&gt;
 &lt;br /&gt;
   # echo 888*640 | bc&lt;br /&gt;
   568320&lt;br /&gt;
 &lt;br /&gt;
 So now you know s1 starts at block 568320 and is 546560 blocks long.&lt;br /&gt;
&lt;br /&gt;
 3. Copy slice one into a separate file:&lt;br /&gt;
 &lt;br /&gt;
   # dd if=sol-9-u1-sparc-v1.iso of=sol-9-u1-sparc-v1-s1.iso bs=512 skip=568320 count=546560&lt;br /&gt;
   546560+0 records in&lt;br /&gt;
   546560+0 records out&lt;br /&gt;
 &lt;br /&gt;
 4. Mount both slice 0 and slice 1 as follows:&lt;br /&gt;
 &lt;br /&gt;
   # mkdir /cd&lt;br /&gt;
   # mkdir /cd/s0&lt;br /&gt;
   # mkdir /cd/s1&lt;br /&gt;
   # lofiadm -a /path_to/sol-9-u1-sparc-v1.iso /dev/lofi/1&lt;br /&gt;
   # lofiadm -a /path_to/sol-9-u1-sparc-v1-s1.iso /dev/lofi/2&lt;br /&gt;
 &lt;br /&gt;
   When you mount slice 1, remember that it is a UFS partition, not HSFS as is usual on a CD-ROM:&lt;br /&gt;
 &lt;br /&gt;
   # mount -F hsfs -o ro /dev/lofi/1 /cd/s0&lt;br /&gt;
   # mount -F ufs -o ro /dev/lofi/2 /cd/s1&lt;br /&gt;
   # cd /cd/s0/Solaris_9/Tools/&lt;br /&gt;
   # ./setup_install_server /destination_dir&lt;br /&gt;
&lt;br /&gt;
==== How To Upgrade JET ====&lt;br /&gt;
&lt;br /&gt;
Upgrading JET is normally as easy as&lt;br /&gt;
&lt;br /&gt;
    * pkgrm SUNWjet&lt;br /&gt;
    * pkgadd -d . SUNWjet&lt;br /&gt;
&lt;br /&gt;
The JET packages were designed so that they don't remove your configs, templates or other 'configuration' settings when removed. However, if you hack the JET scripts etc, then this will remove your customisations - hence the reason hacking JET is frowned upon and you are recommended to look at writing your own modules instead.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
However, if you are upgrading from JET 3.x to 4.x, then you need to do some additional work. The following was taken from Mike's Sun blog&lt;br /&gt;
&lt;br /&gt;
 Things might be a little trickier if you've already got JET 3.7.3 installed, and you want to keep you existing templates etc. The easiest way to accomplish this is to pkgrm all your existing JET packages. (SUNWjet, and all the packages that start with JET), and then&lt;br /&gt;
 &lt;br /&gt;
 mv /opt/jet /opt/SUNWjet&lt;br /&gt;
 &lt;br /&gt;
 Finally install the new JET packages.If you've created you own custom modules or scripts, you may need to check them to ensure you haven't hard-coded any /opt/jet paths in them.&lt;br /&gt;
&lt;br /&gt;
The extra bits are&lt;br /&gt;
* remember to update your .profile with the new path (/opt/SUNWjet/bin)&lt;br /&gt;
* if you have any existing clients, you will need to re-run 'make_client' on them, as /etc/bootparams and/or dhcp macro table will have the directory /opt/jet mentioned as the config directory, rather than the new /opt/SUNWjet&lt;br /&gt;
&lt;br /&gt;
==== How to set up JET as a PXE (DHCP) Server ====&lt;br /&gt;
&lt;br /&gt;
The easiest way of setting up JET to serve up PXE boot clients (or other DHCP clients) is to copy, edit and then run the &amp;quot;helper script&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
cp /opt/SUNWjet/Products/base_config/solaris/make_dhcp /var/tmp&lt;br /&gt;
&lt;br /&gt;
edit it to suit your network&lt;br /&gt;
ie&lt;br /&gt;
&lt;br /&gt;
    NETWORK=10.1.1.0&lt;br /&gt;
 &lt;br /&gt;
    NETMASK=255.255.255.0&lt;br /&gt;
 &lt;br /&gt;
    ROUTER=10.1.1.1&lt;br /&gt;
 &lt;br /&gt;
    dhcpconfig -D -r SUNWfiles -p /var/tmp&lt;br /&gt;
    dhcpconfig -N ${NETWORK} -m ${NETMASK} -t ${ROUTER}&lt;br /&gt;
&lt;br /&gt;
Then run it, /var/tmp/make_dhcp&lt;br /&gt;
&lt;br /&gt;
JET will now &amp;quot;do the right thing&amp;quot; based on the allocation method in your template.&lt;br /&gt;
&lt;br /&gt;
==== Documents reference Solaris 8 and 9, not 10. Does this work with Solaris 10 and Solaris 11 ? ====&lt;br /&gt;
&lt;br /&gt;
JET was originally developed in the era of Solaris 7, 8 and 9. As such whatever documentation there is, normally uses one of those in examples.&lt;br /&gt;
&lt;br /&gt;
JET works fine with Solaris 10, and unless anything specific is said, it works in the same fashion with 10 and indeed 11, in the same fashion as previous versions of Solaris.&lt;br /&gt;
&lt;br /&gt;
You can't currently use JET to install Solaris 11 systems, as Oracle have changed the installation technology to 'Auto Install' which is different from JumpStart. You can still use a Solaris 11 system to deliver both Jet/JumpStart installs to Solaris 10 (or lower) clients, and AI installs to Solaris 11 at the same time though.&lt;br /&gt;
&lt;br /&gt;
==== Install v.s. Upgrades ====&lt;br /&gt;
&lt;br /&gt;
JET doesn't deal with upgrades at all; if you want to upgrade using JumpStart, then you need to hand-craft something - there are too many risks for JET to be able to claim to work properly in every situation, so it doesn't claim to do upgrades at all.&lt;br /&gt;
&lt;br /&gt;
==== Using OpenSolaris as a JET server ====&lt;br /&gt;
&lt;br /&gt;
If you have installed OpenSolaris, you may need to add the following packages to enable all services required.&lt;br /&gt;
&lt;br /&gt;
For rpc.bootparamd and in.tftpd, needed to jumpstart a SPARC box,&lt;br /&gt;
SUNWbs (formerly the packages were SUNWbsu and SUNWbsr)&lt;br /&gt;
&lt;br /&gt;
Timeservices&lt;br /&gt;
SUNWcns&lt;br /&gt;
&lt;br /&gt;
==== Using Solaris 11 as a JET server ====&lt;br /&gt;
&lt;br /&gt;
Solaris 11 is &amp;quot;different&amp;quot; with Auto Install replacing JumpStart. This means it does not include many packages required for JumpStart by default&lt;br /&gt;
&lt;br /&gt;
To enable S11 to act as a JET server, add the following.&lt;br /&gt;
&lt;br /&gt;
pkg install system/boot/network&lt;br /&gt;
&lt;br /&gt;
          Name: system/boot/network&lt;br /&gt;
       Summary: Boot server daemons&lt;br /&gt;
   Description: Support for legacy network boot services including the Reverse&lt;br /&gt;
                Address Resolution Protocol (RARP) (RFC 903) and the boot&lt;br /&gt;
                parameters RPC service. &lt;br /&gt;
&lt;br /&gt;
pkg install network/dhcp/dhcpmgr        - incase you want to use the GUI&lt;br /&gt;
pkg install service/network/dhcp        - for pntadm etc&lt;br /&gt;
&lt;br /&gt;
S11 tftpboot does not recognise /tftpboot.&lt;br /&gt;
&lt;br /&gt;
Just ln -s /tftpboot /etc/netboot&lt;br /&gt;
&lt;br /&gt;
Then carry on as normal, except using zfs share and not /etc/dfs/dfstab&lt;br /&gt;
&lt;br /&gt;
=== Configuration ===&lt;br /&gt;
&lt;br /&gt;
==== JET and Boot Servers ====&lt;br /&gt;
&lt;br /&gt;
Initially, JET was not designed to use the JumpStart Boot Server concepts. There are some internal to Sun modules that are known to extend JET to include Boot Server support and also do so much more for distributed JET environments.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If this is a requirement for you, contact Sun (jet@sun.com) and try to get them involved. If what they have already doesn't fit, it's probably easy for them to adjust it!&lt;br /&gt;
&lt;br /&gt;
==== Disksuite Soft Partitions ====&lt;br /&gt;
&lt;br /&gt;
The easiest way is to create an md.tab file&lt;br /&gt;
and put it under /opt/jet/Clients/clientname&lt;br /&gt;
&lt;br /&gt;
The format of the md.tab should be something like:&lt;br /&gt;
&lt;br /&gt;
    d50 -p d40 100m&lt;br /&gt;
    d40 -m d41&lt;br /&gt;
    d41 1 1 /dev/rdsk/c1t0d0s0&lt;br /&gt;
    d42 1 1 /dev/rdsk/c2t0d0s0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
or for creating a mirrored stripe with softpartitions:&lt;br /&gt;
&lt;br /&gt;
    d70 -p d60 1g&lt;br /&gt;
    d60 -m d61&lt;br /&gt;
    d61 1 2 /dev/rdsk/c1t1d0s0 /dev/rdsk/c1t2d0s0&lt;br /&gt;
    d62 1 2 /dev/rdsk/c2t1d0s0 /dev/rdsk/c2t2d0s0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In addition, the disks used above should all have their vtocs created.&lt;br /&gt;
This is achieved with the following lines from JET base_config:&lt;br /&gt;
&lt;br /&gt;
    base_config_profile_disk_c0t1d0s0_size=&amp;quot;free&amp;quot;&lt;br /&gt;
    base_config_profile_disk_c0t1d0s7_size=&amp;quot;32&amp;quot; (repeat for above disks)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Don't associate any mount points with these partitions.&lt;br /&gt;
&lt;br /&gt;
Finally, to initialise and attach, put in the correct order:&lt;br /&gt;
&lt;br /&gt;
    sds_metadevices_to_init=&amp;quot;d41 d42 d40 d50 d61 d62 d60 d70&amp;quot;&lt;br /&gt;
    sds_metadevices_to_attach=&amp;quot;d40:d42 d60:d62&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
and then add the entries for /etc/vfstab:&lt;br /&gt;
&lt;br /&gt;
    sds_newfs_devices=&amp;quot;/dev/md/rdsk/d50&amp;quot;&lt;br /&gt;
    sds_mount_devices=&amp;quot;/dev/md/dsk/d50:/d50:2:logging&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== Upgrade vs Install ====&lt;br /&gt;
&lt;br /&gt;
JET doesn't do upgrades; you could in theory do it, since JumpStart does support upgrades, but would you really want to ?&lt;br /&gt;
&lt;br /&gt;
Pretty much every system is unique, so just running an 'automated' upgrade on a bunch of systems will produce a mixture of results; in fact, many people, say that you have two real options...&lt;br /&gt;
&lt;br /&gt;
   1. make sure your 'data' is saved, and then do a burn and build. Safest option, as you know exactly what you are going to get; bad side is that you need to know where your data is.&lt;br /&gt;
 &lt;br /&gt;
   2. do a manual upgrade; you can still use the network Solaris images, just omit the '- install'; 'boot net' that way, you are in control and don't invoke any errant finish scripts that you may not be expecting.&lt;br /&gt;
&lt;br /&gt;
Hence the reason we don't promote upgrades; there are too many variables; JET is designed for burn and build, since it's origin is from field installations. Not saying it isn't possible, but by the time you get it working, you may have taken less time to do the upgrades by hand!&lt;br /&gt;
&lt;br /&gt;
==== Using SVM to mirror root disks ====&lt;br /&gt;
&lt;br /&gt;
&amp;quot;I have configured a jumpstart server using Sun JET 4.1. I am trying to build a client with ODS (disksuite) to mirror rootdisk. I installed the sds package and did all the configuration bit.  I  have managed to build the client system successfully with all the mirrors and can see the mirror using “metastat –p” command. The only issue is, the system is not showing the metadevices entries in “/etc/vfstab” file and therefore has booted from the normal devices.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
When configuring SVM/SDS for root disks, use the sds_root_mirror setting in the template. It was desgined to 'encapsulate' existing filesystems with SVM metadevices - even if you don't actually have the other device to mirror the root disk to yet.&lt;br /&gt;
&lt;br /&gt;
The sds_metadevices_to_* variables are used to create new metadevices and filesystems - setting things here won't affect your /etc/vfstab for existing filesystems unless you do it yourself.&lt;br /&gt;
&lt;br /&gt;
==== JET and JASS Integration ====&lt;br /&gt;
&lt;br /&gt;
You need to get hold of the JetJASS module, which as far as I know is not part of&lt;br /&gt;
the standard download available at www.sun.com/downloads&lt;br /&gt;
&lt;br /&gt;
If you have JetJASS, then doing a 'make_template -T &amp;lt;client&amp;gt; &amp;lt;client&amp;gt; jass' will&lt;br /&gt;
add the JASS module details to your template. After that, the options are&lt;br /&gt;
pretty self-explanatory - providing you understand JASS that is.&lt;br /&gt;
&lt;br /&gt;
For those who don't have JetJASS, then you need to engage Sun to get hold of it; you can either do that through your local account manager or through the jet@sun.com alias.&lt;br /&gt;
&lt;br /&gt;
==== How does this JetZONES module work ? ====&lt;br /&gt;
&lt;br /&gt;
The philosophy behind the module was to try to treat zones as a normal JET client. In order to do this, you need to :&lt;br /&gt;
&lt;br /&gt;
* Enable JET server to deploy zones. This is achieved by adding JetZONES to the JET server&lt;br /&gt;
* Add JET support to the 'parent' system. The 'parent' system is the system on which the zones will be created. This is achieved by adding the 'zones' module to the template for the parent.&lt;br /&gt;
* Create a 'zone' definition by using the 'make_zone_template' which gives you a cut down standard Solaris template.&lt;br /&gt;
** zone definitions are not tied to the parent unless specifically referenced in the parent template. By default a zone could be instantiated on any of the possible parents (usual network and resource restrictions obviously apply).&lt;br /&gt;
&lt;br /&gt;
You can manually 'JumpStart' a zone on a parent by running the 'jetzone' command, which will then contact the JET server and hopefully do the right thing.&lt;br /&gt;
&lt;br /&gt;
The obvious caveats, are that very few of the usual modules are zone aware, so you have to be careful with additional jet modules in zone templates.&lt;br /&gt;
&lt;br /&gt;
In summary, the steps are&lt;br /&gt;
&lt;br /&gt;
 1. make_template myclient zones&lt;br /&gt;
 2. (optional) edit the zones section to add the zone names to be used&lt;br /&gt;
 3. make_zone_template &amp;lt;zone&amp;gt;&lt;br /&gt;
 4. make_client &amp;lt;zone&amp;gt;&lt;br /&gt;
 5. make_client &amp;lt;client&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Further comments are within the the zone template&lt;br /&gt;
&lt;br /&gt;
==== How does flash work with JET ? ====&lt;br /&gt;
&lt;br /&gt;
The JetFLASH module can be added in like any other&lt;br /&gt;
&lt;br /&gt;
make_template -f -T &amp;lt;template&amp;gt; &amp;lt;template&amp;gt; flash&lt;br /&gt;
&lt;br /&gt;
Simply edit the template, get to the new flash section and edit the flash_archive=&lt;br /&gt;
with the path to your NFS shared flar file&lt;br /&gt;
&lt;br /&gt;
line, taking note of the example higher up&lt;br /&gt;
&lt;br /&gt;
ie&lt;br /&gt;
flash_archive_locations=&amp;quot;nfs://10.1.1.11/archives/sample&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Rerun make_client and JumpStart&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== What is the recommended flash creation line =====&lt;br /&gt;
A recommended line to produce a flash archive&lt;br /&gt;
&lt;br /&gt;
flarcreate -n &amp;quot;&amp;lt;Something meaningfull&amp;gt;&amp;quot; -R / -S -c file&lt;br /&gt;
&lt;br /&gt;
ie:&lt;br /&gt;
&lt;br /&gt;
flarcreate -n &amp;quot;Sol10 U2+Rec Patches&amp;quot; -R / -S -c /var/tmp/s10.flar&lt;br /&gt;
&lt;br /&gt;
==== Using Jet-4.1, how do I get 'sds' and 'flash' to work together - ie, after applying a flash image, I then want to mirror with the 'sds' module. ====&lt;br /&gt;
&lt;br /&gt;
You use JET exactly as you would do for a normal build; it just&lt;br /&gt;
means that the usual profile information (cluster etc) gets&lt;br /&gt;
ignored and the initial install is done from a flash archive.&lt;br /&gt;
&lt;br /&gt;
make_template -f client1 base_config flash sds&lt;br /&gt;
&lt;br /&gt;
edit as usual, build as usual and the sds stuff will get applied&lt;br /&gt;
after the first reboot, exactly as a normal JET build.&lt;br /&gt;
&lt;br /&gt;
==== Is it possible to include the DB and application into the install? ====&lt;br /&gt;
&lt;br /&gt;
Absolutely; if you can script the installation and configuration of the DB and application, then JumpStart and/or JET can happily set things up during the install of Solaris.&lt;br /&gt;
&lt;br /&gt;
Use the resources at http://jet.maui.co.uk/wiki/index.php/Resources for pointers to documentation and email aliases to help if required.&lt;br /&gt;
&lt;br /&gt;
==== How can I add packages after the initial installation and patching? ====&lt;br /&gt;
&lt;br /&gt;
Solaris packages (i.e. the ones that come on the main Solaris CD's) are added using the base_config_add_package / base_config_add_cluster options in the template; these then instruct the Solaris installer to deal with them.&lt;br /&gt;
&lt;br /&gt;
To install other arbitrary packages, patches, files or scripts, look at the 'custom' module that is included in the main SUNWjet package. It has options for custom_packages and custom_patches, along with similar constructs for files and scripts.&lt;br /&gt;
&lt;br /&gt;
Be sure to read the http://jet.maui.co.uk/wiki/index.php/JETPrimer page, as it has an example of using the 'custom' module.&lt;br /&gt;
&lt;br /&gt;
==== Adding Mount Options ====&lt;br /&gt;
&lt;br /&gt;
The base_config_profile_s?_mtpt variables are used to populate the&lt;br /&gt;
client profile. The client profile allows commands such as&lt;br /&gt;
&lt;br /&gt;
filesys c1t4d0s0 1024 /var nosuid&lt;br /&gt;
&lt;br /&gt;
so you should be able to do something like&lt;br /&gt;
&lt;br /&gt;
base_config_profile_s5_mtpt=&amp;quot;/var nosuid&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Just remember the quotes!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== How do I create additional disk/mirrors ====&lt;br /&gt;
&lt;br /&gt;
JET can be used to create additional mirrors by creating the slices in the base_config section&lt;br /&gt;
&lt;br /&gt;
 ############&lt;br /&gt;
 #&lt;br /&gt;
 # You can specify additional disks to use/configure here&lt;br /&gt;
 #&lt;br /&gt;
 # additional_disks is a space separated list of c?t?d? type disk names&lt;br /&gt;
 #&lt;br /&gt;
 # For each disk listed in additional_disks, a pair of variables of the form&lt;br /&gt;
 #&lt;br /&gt;
 # base_config_profile_disk_c?t?d?s?_mtpt=&amp;quot;....&amp;quot;&lt;br /&gt;
 # base_config_profile_disk_c?t?d?s?_size=&amp;quot;....&amp;quot;&lt;br /&gt;
 #&lt;br /&gt;
 # should be defined for each slice required on the disk.&lt;br /&gt;
 #&lt;br /&gt;
 # N.B. DO NOT SET THE BOOT DISK UP HERE !&lt;br /&gt;
 #&lt;br /&gt;
 base_config_profile_additional_disks=&amp;quot;&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
ie:- If you have disks on c3 and c4 you want to mirror to c5 and c6, 1st lay out the partitions&lt;br /&gt;
&lt;br /&gt;
 base_config_profile_addtional_disks=&amp;quot;c3t0d0 c4t0d0&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 base_config_profile_disk_c3t0d0s0_mtpt=&amp;quot;/export/extra&amp;quot;&lt;br /&gt;
 base_config_profile_disk_c3t0d0s0_size=&amp;quot;10240&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 base_config_profile_disk_c4t0d0s3_mtpt=&amp;quot;/export/extra2&amp;quot;&lt;br /&gt;
 base_config_profile_disk_c4t0d0s3_size=&amp;quot;10240&amp;quot;&lt;br /&gt;
&lt;br /&gt;
etc etc&lt;br /&gt;
&lt;br /&gt;
And then use the &amp;quot;simple mirrors&amp;quot; bit of the sds template&lt;br /&gt;
&lt;br /&gt;
 ############&lt;br /&gt;
 #&lt;br /&gt;
 # You can also describe other simple mirrors - these only work if you define&lt;br /&gt;
 # the partitions in the base_config_profile_disk_ variables&lt;br /&gt;
 #&lt;br /&gt;
 # The format of this variable is a space separated list of source=target,&lt;br /&gt;
 # i.e. c0t1d0=c1t1d0 where the source is the primary&lt;br /&gt;
 #&lt;br /&gt;
 sds_simple_mirrors=&amp;quot;c3t0d0=c5t0d0 c4t0d0=c6t0d0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Anything more complicated can be achived by creating a md.tab and supplying it to the build (via the SDS module), as there was/is no point in re-inventing the wheel.&lt;br /&gt;
&lt;br /&gt;
==== JetZONES and other modules - an anomoly ====&lt;br /&gt;
&lt;br /&gt;
JetZONES will work with other modules as normal, except you will see error messages about being unable to locate packages (see below)&lt;br /&gt;
&lt;br /&gt;
This is because the zones module is intended to be architecture neutral and you will see the base_config_ClientArch= is set to &amp;quot;zone&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
After a heavy dig around the code, the only work around would be to change JET core, and that is just not going to happen.&lt;br /&gt;
&lt;br /&gt;
So, it is a case of &amp;quot;BE AWARE&amp;quot; that errors similar to below will appear when you run make_client against the zone template.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Although it says &amp;quot;FAILED&amp;quot; it will still have made the /opt/SUNWjet/Clients/&amp;lt;client&amp;gt; dir&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
An example below shows the build still worked&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
make_client output&lt;br /&gt;
&lt;br /&gt;
 checking product base_config/solariszone&lt;br /&gt;
 Checking product custom&lt;br /&gt;
 WARNING: CUSTOM: Unable to locate custom package SFWmozilla&lt;br /&gt;
 --------------------------------------------------------------&lt;br /&gt;
 Check of client b1-zone1 &lt;br /&gt;
  &lt;br /&gt;
 #######                                                   ###&lt;br /&gt;
 #          ##       #    #       ######  #####            ###&lt;br /&gt;
 #         #  #      #    #       #       #    #           ###&lt;br /&gt;
 #####    #    #     #    #       #####   #    #            #&lt;br /&gt;
 #        ######     #    #       #       #    #&lt;br /&gt;
 #        #    #     #    #       #       #    #           ###&lt;br /&gt;
 #        #    #     #    ######  ######  #####            ###&lt;br /&gt;
&lt;br /&gt;
jumpstart.log output&lt;br /&gt;
&lt;br /&gt;
 CUSTOM: Installing custom....&lt;br /&gt;
 CUSTOM: Installing SFWmozilla from: //var/opt/sun/jet/js_media/pkg/custom/i386&lt;br /&gt;
 &lt;br /&gt;
 Installation of SFWmozilla was successful.&lt;br /&gt;
 CUSTOM: SFWmozilla installation complete&lt;br /&gt;
 CUSTOM: Register postinstall script 'postinstall' for boot n&lt;br /&gt;
 ----------------------------------------------------------&lt;br /&gt;
 Product modules processed, finish up installation tasks&lt;br /&gt;
 Creating directory: /var/opt/sun/jet/system.add/updated&lt;br /&gt;
 Copying file etc/jumpstart.conf to //var/opt/sun/jet/config/jumpstart.conf&lt;br /&gt;
 Copying file Utils/smf/jetjump.xml to //var/svc/manifest/site/jetjump.xml&lt;br /&gt;
 Copying file Utils/S99jumpstart to //var/opt/sun/jet/post_install/S99jumpstart&lt;br /&gt;
 NFS Unmounting Media Directories&lt;br /&gt;
 Unmounting /var/opt/sun/jet/js_media/pkg&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting ===&lt;br /&gt;
&lt;br /&gt;
==== Solaris x86 Media on Sparc (and vice-versa) ====&lt;br /&gt;
&lt;br /&gt;
Jumpstarting with x86 Laptops and SPARC systems&lt;br /&gt;
&lt;br /&gt;
Typically a nice use for laptops is to automate the install or to allow&lt;br /&gt;
the install of systems lacking a CD-ROM drive.&lt;br /&gt;
&lt;br /&gt;
Running setup-install-server&lt;br /&gt;
&lt;br /&gt;
Prior to Solaris 9, you could use the SPARC Solaris CD and run&lt;br /&gt;
setup-install-server on your laptop as well as using an x86 Solaris CD&lt;br /&gt;
on a SPARC based system.&lt;br /&gt;
&lt;br /&gt;
This is no longer the case.&lt;br /&gt;
&lt;br /&gt;
The layout of the CD's for Solaris 8 an prior would contain a copy of&lt;br /&gt;
the miniroot under &amp;quot;Boot&amp;quot; in the Tools directory of the CD-ROM. The&lt;br /&gt;
whole filesystem would be of the &amp;quot;hsfs&amp;quot; type and thus readable across&lt;br /&gt;
architectures.&lt;br /&gt;
&lt;br /&gt;
 user:/cdrom/sol_8_202_ia/Solaris_8/Tools% ls -l&lt;br /&gt;
 total 187&lt;br /&gt;
 drwxr-xr-x  18 root     other       4096 Dec 18  2001 Boot/&lt;br /&gt;
 -rwxr-xr-x   1 root     bin        59058 Nov 27  2001 add_install_client&lt;br /&gt;
 -rwxr-xr-x   1 root     sys         1325 Nov 27  2001 dial&lt;br /&gt;
 -rwxr-xr-x   1 root     bin        18599 Nov 27  2001 rm_install_client&lt;br /&gt;
 -rwxr-xr-x   1 root     bin        11689 Nov 27  2001 setup_install_server&lt;br /&gt;
 &lt;br /&gt;
 user@machine:/cdrom/sol_8_202_sparc/s0/Solaris_8/Tools% ls -l&lt;br /&gt;
 total 187&lt;br /&gt;
 drwxr-xr-x  17 root     other       4096 Dec 18  2001 Boot/&lt;br /&gt;
 -rwxr-xr-x   1 root     bin        59058 Nov 27  2001 add_install_client&lt;br /&gt;
 -rwxr-xr-x   1 root     sys         1325 Nov 27  2001 dial&lt;br /&gt;
 -rwxr-xr-x   1 root     bin        18599 Nov 27  2001 rm_install_client&lt;br /&gt;
 -rwxr-xr-x   1 root     bin        11689 Nov 27  2001 setup_install_server&lt;br /&gt;
 &lt;br /&gt;
 user@machine:/% fstyp /vol/dev/dsk/c7t1d0/sol_8_202_ia&lt;br /&gt;
 hsfs&lt;br /&gt;
 user@machine:/% fstyp /vol/dev/dsk/c1t6d0/sol_8_202_sparc/s0&lt;br /&gt;
 hsfs&lt;br /&gt;
 user@machine:/% fstyp /vol/dev/dsk/c7t1d0/sol_8_202_ia&lt;br /&gt;
 hsfs&lt;br /&gt;
&lt;br /&gt;
s1 contains a ufs copy of the miniroot as well. This is what you're&lt;br /&gt;
actually running from when you boot off of the CD. However, as ufs is&lt;br /&gt;
architecture specific, you can't mount a SPARC ufs partition on an x86&lt;br /&gt;
box and vice versa.&lt;br /&gt;
&lt;br /&gt;
 user@machine:/% fstyp /vol/dev/dsk/c1t6d0/sol_8_202_sparc/s1&lt;br /&gt;
 ufs&lt;br /&gt;
&lt;br /&gt;
Starting with Solaris 9, there isn't enough space on CD 1 of 2. CD 1 of&lt;br /&gt;
2 should be all that is needed to do an &amp;quot;End User&amp;quot; install. Certain&lt;br /&gt;
packages therefore need to be included there.&lt;br /&gt;
&lt;br /&gt;
The hsfs copy of the miniroot takes up over 200M in the Solaris 8 2/02.&lt;br /&gt;
Freeing up this space was necessary.&lt;br /&gt;
&lt;br /&gt;
With Solaris 9, the &amp;quot;Boot&amp;quot; directory looks like this:&lt;br /&gt;
&lt;br /&gt;
 user@machine:/cdrom/sol_9_sparc/s0/Solaris_9/Tools% ls -l&lt;br /&gt;
 total 184&lt;br /&gt;
 lrwxrwxrwx   1 root     other         11 Apr 15  2002 Boot -&amp;gt; ../../../s1&lt;br /&gt;
 -rwxr-xr-x   2 root     bin        59586 Apr 15  2002 add_install_client&lt;br /&gt;
 -rwxr-xr-x   2 root     sys         1325 Apr 15  2002 dial&lt;br /&gt;
 -rwxr-xr-x   2 root     bin        18599 Apr 15  2002 rm_install_client&lt;br /&gt;
 -rwxr-xr-x   2 root     bin        13045 Apr 15  2002 setup_install_server&lt;br /&gt;
&lt;br /&gt;
s1 however is ufs, which is architecture specific.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 user@machine:/% fstyp /vol/dev/dsk/c1t0d0/sol_9_sparc/s1&lt;br /&gt;
 ufs&lt;br /&gt;
&lt;br /&gt;
If I attempt to run &amp;quot;setup_install_server&amp;quot; on my x86 laptop from a SPARC&lt;br /&gt;
Solaris 9 CD, you get the following:&lt;br /&gt;
&lt;br /&gt;
 # pwd&lt;br /&gt;
 /cdrom/sol_9_sparc/Solaris_9/Tools&lt;br /&gt;
 # ./setup_install_server /export/install/Solaris_9&lt;br /&gt;
 ERROR: Install boot image /cdrom/sol_9_sparc/Solaris_9/Tools/Boot does &lt;br /&gt;
 not exist&lt;br /&gt;
        Check that boot image exists, or use [-t] to&lt;br /&gt;
        specify a valid boot image elsewhere&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Getting it to work&lt;br /&gt;
These instructions are architecture neutral. They will work if you are&lt;br /&gt;
trying to configure jumpstart from an x86 server to a SPARC client or&lt;br /&gt;
setting up a SPARC server to jumpstart x86 clients.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Option 1: Use the DVD&lt;br /&gt;
 &lt;br /&gt;
 The Solaris OE on DVD has enough space to continue to include the&lt;br /&gt;
 miniroot in the architecture neutral portion of itself. The format is&lt;br /&gt;
 udfs, which is used for DVD's instead of hsfs for CD's.&lt;br /&gt;
 &lt;br /&gt;
 This assumes that you, of course, HAVE a DVD drive.&lt;br /&gt;
 &lt;br /&gt;
 The downside of this is that you get a bunch of stuff that might not&lt;br /&gt;
 want to include on your install image. Things such as all of&lt;br /&gt;
 localizations and languages take up space on your server's harddrive.&lt;br /&gt;
&lt;br /&gt;
Option 2: Create 2 JumpStart servers&lt;br /&gt;
&lt;br /&gt;
 You can run the setup_install_server script on the system of the same&lt;br /&gt;
 architecture and then share it out via NFS to the other system. This of&lt;br /&gt;
 course assumes that you have enough temporary space on the system.&lt;br /&gt;
 &lt;br /&gt;
 Mount up the CD-ROM locally and run &amp;quot;setup_install_server&amp;quot; as if you&lt;br /&gt;
 were going to make the system you're on a jumpstart server. I recommend&lt;br /&gt;
 installing to /export/install, but you may have another preference.&lt;br /&gt;
 After the 1st CD completes, you can add in the second one to the install&lt;br /&gt;
 image if you like or add it after you've transferred the image over.&lt;br /&gt;
 &lt;br /&gt;
 Share out the image via NFS my manually sharing it out using the share&lt;br /&gt;
 command or through /etc/dfs/dfstab with a line similar to this:&lt;br /&gt;
&lt;br /&gt;
 #Share out the jumpstart directory for installs&lt;br /&gt;
 share -F nfs -o ro,anon=0 /export/install&lt;br /&gt;
 &lt;br /&gt;
 Start the NFS server if necessary.&lt;br /&gt;
 &lt;br /&gt;
 Mount up the shared directory to your desired server.&lt;br /&gt;
 &lt;br /&gt;
 Run &amp;quot;setup_install_server&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Option 3: Use NFS&lt;br /&gt;
&lt;br /&gt;
 Using NFS, gets around the architecture issue with ufs. You can mount a&lt;br /&gt;
 NFS share on a client and the client doesn't care what the underlying&lt;br /&gt;
 filesystem is on the server.&lt;br /&gt;
 &lt;br /&gt;
 The downside here is that its a bit more complex and that it may take a&lt;br /&gt;
 bit longer to setup because you have to install the image over the&lt;br /&gt;
 network. Also, you'll need 2 systems, a SPARC based one and a x86 one.&lt;br /&gt;
 &lt;br /&gt;
 Add the following line to your /etc/rmmount.conf on the system of the&lt;br /&gt;
 same architecture that you want to create a jumpstart image of. (If you&lt;br /&gt;
 want to put a copy of Solaris 9 SPARC on your x86 laptop, add this line&lt;br /&gt;
 to the SPARC system. If you want to do put a Solaris 9 x86 image on your&lt;br /&gt;
 SPARC system, the line goes in your x86 system's rmmount.conf)&lt;br /&gt;
 &lt;br /&gt;
 # share out the CD-ROM&lt;br /&gt;
 share cdrom* -o ro,anon=0&lt;br /&gt;
 &lt;br /&gt;
 This line causes vold automatically share out the CD-ROM and all&lt;br /&gt;
 partitions on that CD. This is needed because NFS sharing doesn't span&lt;br /&gt;
 filesystems automatically. &amp;quot;anon=0&amp;quot; causes reads by UID=0, which is&lt;br /&gt;
 normally mapped to user &amp;quot;nobody&amp;quot; by NFS for security reasons to remain&lt;br /&gt;
 mapped to UID=0. This isn't a security issue here because the CD is a&lt;br /&gt;
 Read-Only medium anyways.&lt;br /&gt;
 &lt;br /&gt;
 You will need to re-start vold. Runnning &amp;quot;/etc/init.d/volmgt stop&amp;quot; and&lt;br /&gt;
 &amp;quot;/etc/init.d/volmgt start&amp;quot; will do this.&lt;br /&gt;
 &lt;br /&gt;
 You'll likely need to start up the NFS server processes as well. You can&lt;br /&gt;
 either manually start them each time you boot your system or put the&lt;br /&gt;
 following into /etc/dfs/dfstab&lt;br /&gt;
 &lt;br /&gt;
 share -F nfs -o ro,anon=0 /cdrom&lt;br /&gt;
 &lt;br /&gt;
 If you don't have NFS already sharing out filesystems, you'll need to&lt;br /&gt;
 start it by running &amp;quot;/etc/init.d/nfs.server start&amp;quot; as root.&lt;br /&gt;
 &lt;br /&gt;
 At this point, drop in your CD into the appropriate system. It should&lt;br /&gt;
 mount and share things automatically.&lt;br /&gt;
 &lt;br /&gt;
 # mount&lt;br /&gt;
 /cdrom/sol_9_x86/s2 on /vol/dev/dsk/c1t0d0/sol_9_x86/s2 read &lt;br /&gt;
only/nosuid/maplcase/noglobal/rr/traildot/dev=1740003 on Tue Dec  3 &lt;br /&gt;
15:09:39 2002&lt;br /&gt;
 /cdrom/sol_9_x86/s0 on /vol/dev/dsk/c1t0d0/sol_9_x86/s0 read &lt;br /&gt;
only/nosuid/intr/largefiles/onerror=panic/dev=1740001 on Tue Dec  3 &lt;br /&gt;
15:09:39 2002&lt;br /&gt;
 &lt;br /&gt;
 # share&lt;br /&gt;
 -               /cdrom   ro,anon=0   &amp;quot;&amp;quot;&lt;br /&gt;
 -               /cdrom/sol_9_x86/s2   ro,anon=0   &amp;quot;&amp;quot;&lt;br /&gt;
 -               /cdrom/sol_9_x86/s0   ro,anon=0   &amp;quot;&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 At this point you should be able to CD down&lt;br /&gt;
 to the appropriate location to run your setup_install_server.&lt;br /&gt;
 &lt;br /&gt;
 # pwd&lt;br /&gt;
 /&lt;br /&gt;
 # cd /cdrom/sol_9_x86/s2/Solaris_9/Tools&lt;br /&gt;
 # pwd&lt;br /&gt;
 /cdrom/sol_9_x86/s2/Solaris_9/Tools&lt;br /&gt;
 # ls&lt;br /&gt;
 Boot                  dial                  setup_install_server&lt;br /&gt;
 add_install_client    rm_install_client&lt;br /&gt;
 &lt;br /&gt;
 Alternately, you can mount up the directories manually. For example: &lt;br /&gt;
 &lt;br /&gt;
 # mount -F nfs -o ro dhcp-ublm02-228-227:/cdrom /mnt&lt;br /&gt;
 # mount -F nfs -o ro dhcp-ublm02-228-227:/cdrom/sol_9_x86/s0 /mnt/sol_9_x86/s0&lt;br /&gt;
 # mount -F nfs -o ro dhcp-ublm02-228-227:/cdrom/sol_9_x86/s2 /mnt/sol_9_x86/s2&lt;br /&gt;
 &lt;br /&gt;
 All 3 mounts are needed as we have 3 separate filesystems and NFS&lt;br /&gt;
 doesn't span filesystems.&lt;br /&gt;
 &lt;br /&gt;
 Now run your &amp;quot;setup_install_server&amp;quot; script. &lt;br /&gt;
 &lt;br /&gt;
 # ./setup_install_server /export/install/sol_9_x86&lt;br /&gt;
 Verifying target directory...&lt;br /&gt;
 Calculating the required disk space for the Solaris_9 product&lt;br /&gt;
 Calculating space required for the installation boot image&lt;br /&gt;
 Copying the CD image to disk...&lt;br /&gt;
 Copying Install Boot Image hierarchy...&lt;br /&gt;
 Install Server setup complete&lt;br /&gt;
&lt;br /&gt;
 You can either install the CDROM 2 of 2 through this method or drop it&lt;br /&gt;
 in locally as it is in the hsfs format.&lt;br /&gt;
&lt;br /&gt;
There are lots of ways that this can be done outside of this particular&lt;br /&gt;
method. Your mileage may vary.&lt;br /&gt;
&lt;br /&gt;
==== ARP/RARP Timeouts ====&lt;br /&gt;
&lt;br /&gt;
When building a server, you can get the ethernet address from the Open Boot Prom 'banner' command at the 'ok' prompt. By default, this ethernet address is shared between all the ethernet interfaces of the host, so performing a JumpStart off an ethernet interface other than the default alias 'net' proceeds as normal.&lt;br /&gt;
&lt;br /&gt;
When using IPMP or Sun Cluster 3, the value of the Open Boot Prom 'local-mac-address' option is set to true which in turn means that every ethernet interface uses it's own ethernet address, and not the hardcoded one in the Open Boot Prom.&lt;br /&gt;
&lt;br /&gt;
On subsequent re-build attempts over the onboard default 'net' interface, everything is ok; however, if you are building over a different device to 'net' the ethernet address may not match the one you originally used in your template.&lt;br /&gt;
&lt;br /&gt;
As the JumpStart server /etc/ethers files does not match this new ethernet address, it is unable to reply to the booting machine, hence the extended period of ARP/RARP timeouts.&lt;br /&gt;
&lt;br /&gt;
To locate mac addresses for different adapters when local-mac-address? is set to true, you can do the following:&lt;br /&gt;
&lt;br /&gt;
    * At the OBP prompt, do a 'show-nets' to list the network adapters available&lt;br /&gt;
    * Select the adapter&lt;br /&gt;
    * cd &amp;lt;ctrl+y&amp;gt;&lt;br /&gt;
    * .properties&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== System hangs at a # prompt ====&lt;br /&gt;
&lt;br /&gt;
If 'diag-switch?' is set to true in OBP, the system will hang at the '#' prompt prior to rebooting, just after Solaris has installed.&lt;br /&gt;
&lt;br /&gt;
This seems to happen on all types of hosts from V100's through to F15Ks. You need to use the appropriate commands to change the obp setting depending on your platform.&lt;br /&gt;
&lt;br /&gt;
==== Forcing Speed/Duplex during JumpStart ====&lt;br /&gt;
&lt;br /&gt;
You really should just use Auto-negotiation on switches; it works these days and is reliable.&lt;br /&gt;
&lt;br /&gt;
Turning autonegotiation off and setting speed/mode manually is called&lt;br /&gt;
&amp;quot;forced mode&amp;quot;.&lt;br /&gt;
For the Sun[TM] GigaSwift on-board interfaces and Network Interface Cards&lt;br /&gt;
(ce), and for bge on-board interfaces, boot in &amp;quot;forced mode&amp;quot; is possible.&lt;br /&gt;
&lt;br /&gt;
In jumpstart &amp;quot;boot net&amp;quot;, 3 steps are involved.&lt;br /&gt;
The driver must be forced in all 3 steps of the jumpstart boot process.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1st Step: force the interface on boot prom for booting&lt;br /&gt;
&lt;br /&gt;
 ok boot /pci@1f,2000/pci@1/network@0:speed=100,duplex=full,&lt;br /&gt;
        or&lt;br /&gt;
 ok devalias net /pci@1f,2000/pci@1/network@0:speed=100,duplex=full,&lt;br /&gt;
 ok boot net&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2nd Step: inetboot is loaded.&lt;br /&gt;
&lt;br /&gt;
 An inetboot file on the boot server which honours the &amp;quot;forced&amp;quot; ce setting is needed. &lt;br /&gt;
 This is included in Solaris 8 Patch-ID# 111306-05 , for Solaris 9, it's&lt;br /&gt;
 Patch-ID# 113578-01 .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3rd Step: client uses the OS from the file system of the boot server&lt;br /&gt;
&lt;br /&gt;
 create a&lt;br /&gt;
 ../Boot/platform/sun4u/kernel/drv/ce.conf  or&lt;br /&gt;
 ../Boot/platform/sun4u/kernel/drv/bge.conf&lt;br /&gt;
 (the same directory, in which the ce 32 bit driver sits, one single line,&lt;br /&gt;
 example for 100 FDX):&lt;br /&gt;
 &lt;br /&gt;
 adv_autoneg_cap=0 adv_1000fdx_cap=0 adv_1000hdx_cap=0 adv_100fdx_cap=1 &lt;br /&gt;
 adv_100hdx_cap=0 adv_10fdx_cap=0 adv_10hdx_cap=0;&lt;br /&gt;
&lt;br /&gt;
==== JumpStart &amp;amp; JET logs ====&lt;br /&gt;
&lt;br /&gt;
JumpStart saves a log of the output from the system install in the file /var/sadm/system/logs/finish.log. The bad news, is that only covers the log output up to the reboot at the end of the initial install.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
JET includes post-reboot processing in most cases, so the complete JET log (a superset of the JumpStart log) can be found at /var/opt/sun/jet/jumpstart_install.log. There is also a link to the system log called finish.log in the same directory.&lt;br /&gt;
&lt;br /&gt;
The JET log will include the system finish log output and also any output from JET processing at subsequent reboots.&lt;br /&gt;
&lt;br /&gt;
==== Solaris 10, SSH doesn't start ====&lt;br /&gt;
&lt;br /&gt;
When JumpStart'ing Solaris 10 GA (and maybe some of the updates), the ssh software is installed but the daemon doesn't start; 'svcs -a' reporting it in a maintenance state.&lt;br /&gt;
&lt;br /&gt;
The root cause is that the ssh host key is not created for some reason, so you need to execute the following commands:&lt;br /&gt;
&lt;br /&gt;
 /lib/svc/method/sshd -c&lt;br /&gt;
 /usr/sbin/svcadm clear network/ssh&lt;br /&gt;
&lt;br /&gt;
In JET, you could put the commands into a script in /opt/jet/Clients/common.files/fixup-ssh and then use custom_scripts=&amp;quot;fixup-ssh&amp;quot; to get JET to fix the problem for you.&lt;br /&gt;
&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 #&lt;br /&gt;
 # Fix Up SSH on Solaris 10&lt;br /&gt;
 #&lt;br /&gt;
 if [ ! -f /etc/ssh/ssh_host_rsa_key -o ! -f /etc/ssh/ssh_host_dsa_key ]; then&lt;br /&gt;
        /lib/svc/method/sshd -c &lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 /usr/sbin/svcadm clear network/ssh&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== TFTP Problems While Booting ====&lt;br /&gt;
&lt;br /&gt;
A number of people have come across problems with TFTP; specifically TFTP failing during (or sometimes at the start of) a transfer.&lt;br /&gt;
&lt;br /&gt;
TFTP is the 'Trivial File Transfer Protocol' and as such has some simple limitations. One such, is that the original protocol allows up to 65,536 blocks to be transferred; each block defaulting to 512 bytes -&amp;gt; 32Mb limit.&lt;br /&gt;
&lt;br /&gt;
Some implementations allow the block size to be increased, others allow the block counter to roll-over; 65,536 == 0 again.&lt;br /&gt;
&lt;br /&gt;
Sun changed their in.tfptd implementation between Solaris 8 and 9, and from tests, it seems they have added the 'change block size' code. Tests on Solaris 9 and 10 indicate that the Sun in.tftpd server still stops at block 65,536 though.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Solaris 10 Update 1 for x86/64 has a new boot mechanism, and the file to be downloaded via TFTP is 48Mb or so. If you are using a Solaris 8 JumpStart server, then you are going to hit trouble. Either move to Solaris 9 or you could try and take the in.tftpd binary from a Solaris 9 client.If things still don't work, then you could go off and google for a replacement tftpd server; http://www.kernel.org/pub/software/network/tftp/ has done the trick for me in the past, and doesn't need much to convince it to compile under Solaris.&lt;br /&gt;
&lt;br /&gt;
==== Solaris 10 Update 1 and Flash archive problems ====&lt;br /&gt;
&lt;br /&gt;
When deploying a flash archive taken from a Solaris 10 Update 1 install, the initial flash completes, but subsequent JET processing stops after the first reboot.&lt;br /&gt;
&lt;br /&gt;
When you build a system using flash on Solaris 10, the smf(1m) database gets stored as part of the flash archive. Under Solaris 10 GA/FCS, the smf(1m) database entries were keyed using the manifest inode number (amongst other things), so when you redeployed the flash, the inode numbers changed and smf(1m) re-scanned the manifest files.&lt;br /&gt;
&lt;br /&gt;
Under Solaris 10 Update 1, Sun have removed the inode time from the database key, so it doesn't rebuild the database as it used to.&lt;br /&gt;
&lt;br /&gt;
If you built the original system using JET, the jetjump.xml file is still 'known about' by the smf(1m) database, so when you come to deploy the flash archive using JET, smf(1m) happily ignores the newly deposited jetjump.xml file.&lt;br /&gt;
&lt;br /&gt;
Officially, this is a bug/feature introduced in Solaris 10 Update 1 (BugID 6251841). The version of JET about to be released has a work around for this situation, so it will go away.&lt;br /&gt;
&lt;br /&gt;
The work around for now, is to do the following *before* creating the flash archive:&lt;br /&gt;
&lt;br /&gt;
 # svccfg -s smf/manifest delpg var_svc_manifest_site_jetjump_xml&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This 'feature' is also present in Nevada builds (Solaris Express / Solaris 11).&lt;br /&gt;
&lt;br /&gt;
==== Unable to locate suitable disks ====&lt;br /&gt;
&lt;br /&gt;
If you install Solaris onto scrubbed disks which have no Solaris label on them, the install will halt because it can't find disks to install too. This is normally more of an issue with x86 systems that don't have a Solaris partition, but can also be encountered on Sparc boxes too.&lt;br /&gt;
&lt;br /&gt;
On Sparc systems, use the 'format' command to 'label' the disks; on x86, fdisk can be used to create a Solaris partition.&lt;br /&gt;
&lt;br /&gt;
==== I am warned about missing patches, but cannot add ====&lt;br /&gt;
&lt;br /&gt;
If you get the warning&lt;br /&gt;
&lt;br /&gt;
 WARNING: Patch 119375-11 has not been applied to the boot image.&lt;br /&gt;
&lt;br /&gt;
And then run the patchadd -C command as instructed, only to be told the patch is already present,&lt;br /&gt;
&lt;br /&gt;
This may be because patchadd was broken in Solaris 10 (03/05) and failed to check correctly. This has been fixed with later versions/patches.&lt;br /&gt;
&lt;br /&gt;
Alternatively if you are using Solaris 10 01/06 or later there is an issue that patchadd cannot check the mini-root.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As it is only a WARNING, it will not cause make_client to fail. If make_client fails, look back to identify earlier FAIL messages.&lt;br /&gt;
&lt;br /&gt;
A future release of JET may well bypass this error&lt;br /&gt;
&lt;br /&gt;
=== Bug / Problem Reporting ===&lt;br /&gt;
&lt;br /&gt;
==== Having Problems with JET and need help ? ====&lt;br /&gt;
&lt;br /&gt;
If you post a question here that concerns a specific problem you are seeing with JET, then please include the template and the output from /var/opt/sun/jet/jumpstart_install.log - or at the very least, say you have that information and be prepared to send it on to who ever elects to try to help you. &lt;br /&gt;
&lt;br /&gt;
==== Reporting a Bug ====&lt;br /&gt;
&lt;br /&gt;
Think you've found a bug in JET ? If so, first up check it is a bug by asking the appropriate question on this website or send your theory and reasoning to jet@sun.com.&lt;br /&gt;
&lt;br /&gt;
JET 'evolved' over about 5+ years, so the chance of someone making a mistake in the scripting is not beyond possibility! It could however be something JET was not designed for in which case it's an RFE - Request For Enhancement.&lt;br /&gt;
&lt;br /&gt;
==== Request For Enhancements (RFEs) ====&lt;br /&gt;
&lt;br /&gt;
If you discover something you want changed in JET, then it normally falls into two categories:&lt;br /&gt;
&lt;br /&gt;
    Implement it in a module&lt;br /&gt;
&lt;br /&gt;
        Support for non-core features or additional configuration work can be easily delivered through a new JET module. This way, the main code base stays unaffected for the vast majority of people who use it, and the module can evolve as the authors see fit.&lt;br /&gt;
&lt;br /&gt;
    Submit the change as an RFE&lt;br /&gt;
&lt;br /&gt;
        If the feature needs to go into the main JET package or one of the pre-supplied modules and can not be delivered as a module, then you need to discuss the matter with the JET folks at Sun (jet@sun.com) and work on drafting an RFE. Depending on how much they agree with your suggestion and how much time they have, the actual change could be made quickly or could take months - such is the nature of change.&lt;/div&gt;</summary>
		<author><name>Marty</name></author>
	</entry>
	<entry>
		<id>https://jet.maui.co.uk/wiki/index.php?title=Faq&amp;diff=1458</id>
		<title>Faq</title>
		<link rel="alternate" type="text/html" href="https://jet.maui.co.uk/wiki/index.php?title=Faq&amp;diff=1458"/>
		<updated>2014-01-03T11:37:27Z</updated>

		<summary type="html">&lt;p&gt;Marty: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Frequently Asked Questions ==&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
&lt;br /&gt;
==== What are these '.pkg'/'pkg.bz2' files ? ====&lt;br /&gt;
&lt;br /&gt;
&amp;quot;I've just downloaded the packages from the website, and now have files with a .pkg suffix. What do I do next ?&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The files you have are datastream packages. To install them, run&lt;br /&gt;
&lt;br /&gt;
      pkgadd -d filename.pkg&lt;br /&gt;
&lt;br /&gt;
rather than the more usual pkgadd -d . [pkgname]&lt;br /&gt;
&lt;br /&gt;
You can migrate the datastream format packages to regular directory based packages by using the pkgtrans(1m) command.&lt;br /&gt;
&lt;br /&gt;
      pkgtrans filename.pkg . all&lt;br /&gt;
&lt;br /&gt;
Basically, read up on pkgadd(1m) and pkgtrans(1m) !&lt;br /&gt;
&lt;br /&gt;
==== A GUI Frontend for JET ====&lt;br /&gt;
&lt;br /&gt;
Is there a Web Front End for JET ?&lt;br /&gt;
&lt;br /&gt;
Probably the most frequently requested feature. The short answer is 'no, there is no generic web front end for JET'.&lt;br /&gt;
&lt;br /&gt;
The long answer is that typically, web front ends are written to expose a subset of the features available in JET. For the case of 'standard builds', you may wish to have a pull down list of available builds and just plug in the MAC and IP addresses etc.&lt;br /&gt;
&lt;br /&gt;
As these front ends, with only a subset of features presented, are very much customised for a particular use/customer, it's work you need to do!&lt;br /&gt;
&lt;br /&gt;
If a 'generic web front end' was provided, it would need to be kept up to date with every modification to the toolkit. Quite frankly, it isn't going to be that useful to many people.&lt;br /&gt;
&lt;br /&gt;
JET has been designed so it is pretty easy to front end yourself.&lt;br /&gt;
&lt;br /&gt;
==== Getting Help with JET ====&lt;br /&gt;
&lt;br /&gt;
There are a number of places you can go for help with JET; first up is obviously Sun themselves - Email the people who look after JET on the alias jet@sun.com and someone should get back to you pretty quickly (UK Timezone).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sun have also put up information on the JET BigAdmin page at http://www.sun.com/bigadmin/content/jet/ and Mike Ramchand (one of the authors) tends to write things about JET in his blog at http://blogs.sun.com/roller/page/mramcha/20050826&lt;br /&gt;
&lt;br /&gt;
External to Sun are a number of resources; there is a Yahoo group at http://groups.yahoo.com/group/JETJumpStart/ and of course, you can approach me (marty at Maui-Systems dot co dot uk) as the other author of the toolkit from when I used to work for Sun.&lt;br /&gt;
&lt;br /&gt;
==== Whats in the Free Bundle ? ====&lt;br /&gt;
&lt;br /&gt;
The JET bundle downloadable from http;//www.sun.com/downloads currently (as of May 2006) contains the following modules.&lt;br /&gt;
&lt;br /&gt;
    * SUNWjet - The core JET product&lt;br /&gt;
    * SUNWjetd - The documentation - Please read&lt;br /&gt;
    * JetSDS - Configure SVM/SDS&lt;br /&gt;
    * JetVTS - Install the Test Suite&lt;br /&gt;
    * JetEXPLO - Install and configure Explorer&lt;br /&gt;
    * JetFLASH - Utilise flash archives for installation&lt;br /&gt;
    * JetSAN - Configure SANs&lt;br /&gt;
    * JetJASS - JASS toolkit install and configuration&lt;br /&gt;
    * JetZONES - Add local zones to your Solaris 10 global zones as part of the build&lt;br /&gt;
    * JetWanBoot - Plugin to allow JET to perform WANBOOTt installations&lt;br /&gt;
    * JetRBAC - Enables none root users to run JET using RBAC&lt;br /&gt;
&lt;br /&gt;
Sun releases/refreshes the bundle on an ad-hoc basis and normally communicates this fact to the comp.unix.solaris and alt.solaris.x86 newsgroups.&lt;br /&gt;
&lt;br /&gt;
==== Solaris 10 U1 (01/06) grub/newboot ====&lt;br /&gt;
&lt;br /&gt;
With the release of Solaris 10 Update 1 (01/06), the x86/64 platform boot method was transitioned to 'grub', finally doing away with the old DCA pre-boot environment. This new boot method was refered to as &amp;quot;newboot&amp;quot; internally to Sun and the phrase seems to have stuck.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To deal with this a JetNEWBOOT module was developed to &amp;quot;plugin&amp;quot; to JET versions prior to JET 4.2 to support this new boot environment. When JET 4.2 is released, the 'grub' installation method will be part of the core JET product.&lt;br /&gt;
&lt;br /&gt;
When using JetNEWBOOT, all you need to amend in your template is the&lt;br /&gt;
&lt;br /&gt;
    * base_config_allocation_method=&amp;quot;newboot&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As a guide to what to use:&lt;br /&gt;
&lt;br /&gt;
    * With Solaris 10 GA (03/05)&lt;br /&gt;
          o base_config_allocation_method=&amp;quot;dhcp&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
    * With Solaris 10 Update 1 (01/06) and above, JET (&amp;lt; 4.2) and JetNEWBOOT&lt;br /&gt;
          o base_config_allocation_method=&amp;quot;newboot&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
    * With Solaris 10 Update 1 (01/06) and above, JET (&amp;gt;= 4.2)&lt;br /&gt;
          o base_config_allocation_method=&amp;quot;grub&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
JetNEWBOOT is now part of the downloadable bundle from Sun but will not be required once JET 4.2 is released.&lt;br /&gt;
&lt;br /&gt;
==== Using 'iso' images instead of CD/DVDs ====&lt;br /&gt;
&lt;br /&gt;
The following was derived from information at http://www.unix.com/showthread.php?t=18074&lt;br /&gt;
&lt;br /&gt;
When using Solaris ISO images, the start of the image contains a hsfs (high sierra filesystem) with a couple of ufs filesystems appended to the end of it.&lt;br /&gt;
&lt;br /&gt;
The problem, is that using lofiadm, only the hsfs image is spotted and made available; the ufs filesystems are not seen, so you end up with broken links to 's1' and the like.&lt;br /&gt;
&lt;br /&gt;
To set up a JumpStart server using Solaris ISO images, you must have access to both slice 0 and slice 1 on the image.&lt;br /&gt;
&lt;br /&gt;
To fix the problem, split the contents of slice 1 into it's own image file and then mount this image separately using lofi.&lt;br /&gt;
&lt;br /&gt;
The following procedure describes how to do this.&lt;br /&gt;
&lt;br /&gt;
 # ls -l sol-9*&lt;br /&gt;
 -rw-r--r-- 1 root root 576364544 Jan 1 11:16 sol-9-u1-sparc-v1.iso&lt;br /&gt;
 -rw-r--r-- 1 root root 291962880 Jan 1 21:42 sol-9-u1-sparc-v2.iso&lt;br /&gt;
 &lt;br /&gt;
 This only applies to CD 1, all other isos can be mounted using lofiadm in the normal way.&lt;br /&gt;
 &lt;br /&gt;
 1. Get a copy of the VTOC from the ISO image:&lt;br /&gt;
 &lt;br /&gt;
   # dd if=sol-9-u1-sparc-v1.iso of=vtoc bs=512 count=1&lt;br /&gt;
   1+0 records in&lt;br /&gt;
   1+0 records out&lt;br /&gt;
 &lt;br /&gt;
 2. Now find out where Slice 1 starts in the image and how long it is. The starting cylinder for slice 1 is located at offset 452 (decimal) into the VTOC; the length in blocks is at offset 456, with both being 4 bytes long.&lt;br /&gt;
 &lt;br /&gt;
   # od -D -j 452 -N 8 &amp;lt; vtoc&lt;br /&gt;
   0000000 0000000888 0000546560&lt;br /&gt;
   0000010&lt;br /&gt;
 &lt;br /&gt;
 Slice 1 starts on cylinder 888, and is 546,560 blocks long. CD for the Solaris OS always have 640 blocks per cylinder, so you can find the starting block of slice 1 as follows:&lt;br /&gt;
 &lt;br /&gt;
   # echo 888*640 | bc&lt;br /&gt;
   568320&lt;br /&gt;
 &lt;br /&gt;
 So now you know s1 starts at block 568320 and is 546560 blocks long.&lt;br /&gt;
&lt;br /&gt;
 3. Copy slice one into a separate file:&lt;br /&gt;
 &lt;br /&gt;
   # dd if=sol-9-u1-sparc-v1.iso of=sol-9-u1-sparc-v1-s1.iso bs=512 skip=568320 count=546560&lt;br /&gt;
   546560+0 records in&lt;br /&gt;
   546560+0 records out&lt;br /&gt;
 &lt;br /&gt;
 4. Mount both slice 0 and slice 1 as follows:&lt;br /&gt;
 &lt;br /&gt;
   # mkdir /cd&lt;br /&gt;
   # mkdir /cd/s0&lt;br /&gt;
   # mkdir /cd/s1&lt;br /&gt;
   # lofiadm -a /path_to/sol-9-u1-sparc-v1.iso /dev/lofi/1&lt;br /&gt;
   # lofiadm -a /path_to/sol-9-u1-sparc-v1-s1.iso /dev/lofi/2&lt;br /&gt;
 &lt;br /&gt;
   When you mount slice 1, remember that it is a UFS partition, not HSFS as is usual on a CD-ROM:&lt;br /&gt;
 &lt;br /&gt;
   # mount -F hsfs -o ro /dev/lofi/1 /cd/s0&lt;br /&gt;
   # mount -F ufs -o ro /dev/lofi/2 /cd/s1&lt;br /&gt;
   # cd /cd/s0/Solaris_9/Tools/&lt;br /&gt;
   # ./setup_install_server /destination_dir&lt;br /&gt;
&lt;br /&gt;
==== How To Upgrade JET ====&lt;br /&gt;
&lt;br /&gt;
Upgrading JET is normally as easy as&lt;br /&gt;
&lt;br /&gt;
    * pkgrm SUNWjet&lt;br /&gt;
    * pkgadd -d . SUNWjet&lt;br /&gt;
&lt;br /&gt;
The JET packages were designed so that they don't remove your configs, templates or other 'configuration' settings when removed. However, if you hack the JET scripts etc, then this will remove your customisations - hence the reason hacking JET is frowned upon and you are recommended to look at writing your own modules instead.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
However, if you are upgrading from JET 3.x to 4.x, then you need to do some additional work. The following was taken from Mike's Sun blog&lt;br /&gt;
&lt;br /&gt;
 Things might be a little trickier if you've already got JET 3.7.3 installed, and you want to keep you existing templates etc. The easiest way to accomplish this is to pkgrm all your existing JET packages. (SUNWjet, and all the packages that start with JET), and then&lt;br /&gt;
 &lt;br /&gt;
 mv /opt/jet /opt/SUNWjet&lt;br /&gt;
 &lt;br /&gt;
 Finally install the new JET packages.If you've created you own custom modules or scripts, you may need to check them to ensure you haven't hard-coded any /opt/jet paths in them.&lt;br /&gt;
&lt;br /&gt;
The extra bits are&lt;br /&gt;
* remember to update your .profile with the new path (/opt/SUNWjet/bin)&lt;br /&gt;
* if you have any existing clients, you will need to re-run 'make_client' on them, as /etc/bootparams and/or dhcp macro table will have the directory /opt/jet mentioned as the config directory, rather than the new /opt/SUNWjet&lt;br /&gt;
&lt;br /&gt;
==== How to set up JET as a PXE (DHCP) Server ====&lt;br /&gt;
&lt;br /&gt;
The easiest way of setting up JET to serve up PXE boot clients (or other DHCP clients) is to copy, edit and then run the &amp;quot;helper script&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
cp /opt/SUNWjet/Products/base_config/solaris/make_dhcp /var/tmp&lt;br /&gt;
&lt;br /&gt;
edit it to suit your network&lt;br /&gt;
ie&lt;br /&gt;
&lt;br /&gt;
    NETWORK=10.1.1.0&lt;br /&gt;
 &lt;br /&gt;
    NETMASK=255.255.255.0&lt;br /&gt;
 &lt;br /&gt;
    ROUTER=10.1.1.1&lt;br /&gt;
 &lt;br /&gt;
    dhcpconfig -D -r SUNWfiles -p /var/tmp&lt;br /&gt;
    dhcpconfig -N ${NETWORK} -m ${NETMASK} -t ${ROUTER}&lt;br /&gt;
&lt;br /&gt;
Then run it, /var/tmp/make_dhcp&lt;br /&gt;
&lt;br /&gt;
JET will now &amp;quot;do the right thing&amp;quot; based on the allocation method in your template.&lt;br /&gt;
&lt;br /&gt;
==== Documents reference Solaris 8 and 9, not 10. Does this work with Solaris 10 ? ====&lt;br /&gt;
&lt;br /&gt;
JET was originally developed in the era of Solaris 7, 8 and 9. As such whatever documentation there is, normally uses one of those in examples.&lt;br /&gt;
&lt;br /&gt;
JET works fine with Solaris 10, and unless anything specific is said, it works in the same fashion with 10 (&amp;lt;strike&amp;gt;and indeed 11 if that is what it gets called&amp;lt;/strike&amp;gt;) in the same fashion as previous versions of Solaris.&lt;br /&gt;
&lt;br /&gt;
JET doesn't deal with upgrades at all; if you want to upgrade using JumpStart, then you need to hand-craft something - there are too many risks for JET to be able to claim to work properly in every situation, so it doesn't claim to do upgrades at all.&lt;br /&gt;
&lt;br /&gt;
==== Using OpenSolaris as a JET server ====&lt;br /&gt;
&lt;br /&gt;
If you have installed OpenSolaris, you may need to add the following packages to enable all services required.&lt;br /&gt;
&lt;br /&gt;
For rpc.bootparamd and in.tftpd, needed to jumpstart a SPARC box,&lt;br /&gt;
SUNWbs (formerly the packages were SUNWbsu and SUNWbsr)&lt;br /&gt;
&lt;br /&gt;
Timeservices&lt;br /&gt;
SUNWcns&lt;br /&gt;
&lt;br /&gt;
==== Using Solaris 11 as a JET server ====&lt;br /&gt;
&lt;br /&gt;
Solaris 11 is &amp;quot;different&amp;quot; with Auto Install replacing JumpStart. This means it does not include many packages required for JumpStart by default&lt;br /&gt;
&lt;br /&gt;
To enable S11 to act as a JET server, add the following.&lt;br /&gt;
&lt;br /&gt;
pkg install system/boot/network&lt;br /&gt;
&lt;br /&gt;
          Name: system/boot/network&lt;br /&gt;
       Summary: Boot server daemons&lt;br /&gt;
   Description: Support for legacy network boot services including the Reverse&lt;br /&gt;
                Address Resolution Protocol (RARP) (RFC 903) and the boot&lt;br /&gt;
                parameters RPC service. &lt;br /&gt;
&lt;br /&gt;
pkg install network/dhcp/dhcpmgr        - incase you want to use the GUI&lt;br /&gt;
pkg install service/network/dhcp        - for pntadm etc&lt;br /&gt;
&lt;br /&gt;
S11 tftpboot does not recognise /tftpboot.&lt;br /&gt;
&lt;br /&gt;
Just ln -s /tftpboot /etc/netboot&lt;br /&gt;
&lt;br /&gt;
Then carry on as normal, except using zfs share and not /etc/dfs/dfstab&lt;br /&gt;
&lt;br /&gt;
=== Configuration ===&lt;br /&gt;
&lt;br /&gt;
==== JET and Boot Servers ====&lt;br /&gt;
&lt;br /&gt;
Initially, JET was not designed to use the JumpStart Boot Server concepts. There are some internal to Sun modules that are known to extend JET to include Boot Server support and also do so much more for distributed JET environments.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If this is a requirement for you, contact Sun (jet@sun.com) and try to get them involved. If what they have already doesn't fit, it's probably easy for them to adjust it!&lt;br /&gt;
&lt;br /&gt;
==== Disksuite Soft Partitions ====&lt;br /&gt;
&lt;br /&gt;
The easiest way is to create an md.tab file&lt;br /&gt;
and put it under /opt/jet/Clients/clientname&lt;br /&gt;
&lt;br /&gt;
The format of the md.tab should be something like:&lt;br /&gt;
&lt;br /&gt;
    d50 -p d40 100m&lt;br /&gt;
    d40 -m d41&lt;br /&gt;
    d41 1 1 /dev/rdsk/c1t0d0s0&lt;br /&gt;
    d42 1 1 /dev/rdsk/c2t0d0s0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
or for creating a mirrored stripe with softpartitions:&lt;br /&gt;
&lt;br /&gt;
    d70 -p d60 1g&lt;br /&gt;
    d60 -m d61&lt;br /&gt;
    d61 1 2 /dev/rdsk/c1t1d0s0 /dev/rdsk/c1t2d0s0&lt;br /&gt;
    d62 1 2 /dev/rdsk/c2t1d0s0 /dev/rdsk/c2t2d0s0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In addition, the disks used above should all have their vtocs created.&lt;br /&gt;
This is achieved with the following lines from JET base_config:&lt;br /&gt;
&lt;br /&gt;
    base_config_profile_disk_c0t1d0s0_size=&amp;quot;free&amp;quot;&lt;br /&gt;
    base_config_profile_disk_c0t1d0s7_size=&amp;quot;32&amp;quot; (repeat for above disks)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Don't associate any mount points with these partitions.&lt;br /&gt;
&lt;br /&gt;
Finally, to initialise and attach, put in the correct order:&lt;br /&gt;
&lt;br /&gt;
    sds_metadevices_to_init=&amp;quot;d41 d42 d40 d50 d61 d62 d60 d70&amp;quot;&lt;br /&gt;
    sds_metadevices_to_attach=&amp;quot;d40:d42 d60:d62&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
and then add the entries for /etc/vfstab:&lt;br /&gt;
&lt;br /&gt;
    sds_newfs_devices=&amp;quot;/dev/md/rdsk/d50&amp;quot;&lt;br /&gt;
    sds_mount_devices=&amp;quot;/dev/md/dsk/d50:/d50:2:logging&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== Upgrade vs Install ====&lt;br /&gt;
&lt;br /&gt;
JET doesn't do upgrades; you could in theory do it, since JumpStart does support upgrades, but would you really want to ?&lt;br /&gt;
&lt;br /&gt;
Pretty much every system is unique, so just running an 'automated' upgrade on a bunch of systems will produce a mixture of results; in fact, many people, say that you have two real options...&lt;br /&gt;
&lt;br /&gt;
   1. make sure your 'data' is saved, and then do a burn and build. Safest option, as you know exactly what you are going to get; bad side is that you need to know where your data is.&lt;br /&gt;
 &lt;br /&gt;
   2. do a manual upgrade; you can still use the network Solaris images, just omit the '- install'; 'boot net' that way, you are in control and don't invoke any errant finish scripts that you may not be expecting.&lt;br /&gt;
&lt;br /&gt;
Hence the reason we don't promote upgrades; there are too many variables; JET is designed for burn and build, since it's origin is from field installations. Not saying it isn't possible, but by the time you get it working, you may have taken less time to do the upgrades by hand!&lt;br /&gt;
&lt;br /&gt;
==== Using SVM to mirror root disks ====&lt;br /&gt;
&lt;br /&gt;
&amp;quot;I have configured a jumpstart server using Sun JET 4.1. I am trying to build a client with ODS (disksuite) to mirror rootdisk. I installed the sds package and did all the configuration bit.  I  have managed to build the client system successfully with all the mirrors and can see the mirror using “metastat –p” command. The only issue is, the system is not showing the metadevices entries in “/etc/vfstab” file and therefore has booted from the normal devices.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
When configuring SVM/SDS for root disks, use the sds_root_mirror setting in the template. It was desgined to 'encapsulate' existing filesystems with SVM metadevices - even if you don't actually have the other device to mirror the root disk to yet.&lt;br /&gt;
&lt;br /&gt;
The sds_metadevices_to_* variables are used to create new metadevices and filesystems - setting things here won't affect your /etc/vfstab for existing filesystems unless you do it yourself.&lt;br /&gt;
&lt;br /&gt;
==== JET and JASS Integration ====&lt;br /&gt;
&lt;br /&gt;
You need to get hold of the JetJASS module, which as far as I know is not part of&lt;br /&gt;
the standard download available at www.sun.com/downloads&lt;br /&gt;
&lt;br /&gt;
If you have JetJASS, then doing a 'make_template -T &amp;lt;client&amp;gt; &amp;lt;client&amp;gt; jass' will&lt;br /&gt;
add the JASS module details to your template. After that, the options are&lt;br /&gt;
pretty self-explanatory - providing you understand JASS that is.&lt;br /&gt;
&lt;br /&gt;
For those who don't have JetJASS, then you need to engage Sun to get hold of it; you can either do that through your local account manager or through the jet@sun.com alias.&lt;br /&gt;
&lt;br /&gt;
==== How does this JetZONES module work ? ====&lt;br /&gt;
&lt;br /&gt;
The philosophy behind the module was to try to treat zones as a normal JET client. In order to do this, you need to :&lt;br /&gt;
&lt;br /&gt;
* Enable JET server to deploy zones. This is achieved by adding JetZONES to the JET server&lt;br /&gt;
* Add JET support to the 'parent' system. The 'parent' system is the system on which the zones will be created. This is achieved by adding the 'zones' module to the template for the parent.&lt;br /&gt;
* Create a 'zone' definition by using the 'make_zone_template' which gives you a cut down standard Solaris template.&lt;br /&gt;
** zone definitions are not tied to the parent unless specifically referenced in the parent template. By default a zone could be instantiated on any of the possible parents (usual network and resource restrictions obviously apply).&lt;br /&gt;
&lt;br /&gt;
You can manually 'JumpStart' a zone on a parent by running the 'jetzone' command, which will then contact the JET server and hopefully do the right thing.&lt;br /&gt;
&lt;br /&gt;
The obvious caveats, are that very few of the usual modules are zone aware, so you have to be careful with additional jet modules in zone templates.&lt;br /&gt;
&lt;br /&gt;
In summary, the steps are&lt;br /&gt;
&lt;br /&gt;
 1. make_template myclient zones&lt;br /&gt;
 2. (optional) edit the zones section to add the zone names to be used&lt;br /&gt;
 3. make_zone_template &amp;lt;zone&amp;gt;&lt;br /&gt;
 4. make_client &amp;lt;zone&amp;gt;&lt;br /&gt;
 5. make_client &amp;lt;client&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Further comments are within the the zone template&lt;br /&gt;
&lt;br /&gt;
==== How does flash work with JET ? ====&lt;br /&gt;
&lt;br /&gt;
The JetFLASH module can be added in like any other&lt;br /&gt;
&lt;br /&gt;
make_template -f -T &amp;lt;template&amp;gt; &amp;lt;template&amp;gt; flash&lt;br /&gt;
&lt;br /&gt;
Simply edit the template, get to the new flash section and edit the flash_archive=&lt;br /&gt;
with the path to your NFS shared flar file&lt;br /&gt;
&lt;br /&gt;
line, taking note of the example higher up&lt;br /&gt;
&lt;br /&gt;
ie&lt;br /&gt;
flash_archive_locations=&amp;quot;nfs://10.1.1.11/archives/sample&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Rerun make_client and JumpStart&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== What is the recommended flash creation line =====&lt;br /&gt;
A recommended line to produce a flash archive&lt;br /&gt;
&lt;br /&gt;
flarcreate -n &amp;quot;&amp;lt;Something meaningfull&amp;gt;&amp;quot; -R / -S -c file&lt;br /&gt;
&lt;br /&gt;
ie:&lt;br /&gt;
&lt;br /&gt;
flarcreate -n &amp;quot;Sol10 U2+Rec Patches&amp;quot; -R / -S -c /var/tmp/s10.flar&lt;br /&gt;
&lt;br /&gt;
==== Using Jet-4.1, how do I get 'sds' and 'flash' to work together - ie, after applying a flash image, I then want to mirror with the 'sds' module. ====&lt;br /&gt;
&lt;br /&gt;
You use JET exactly as you would do for a normal build; it just&lt;br /&gt;
means that the usual profile information (cluster etc) gets&lt;br /&gt;
ignored and the initial install is done from a flash archive.&lt;br /&gt;
&lt;br /&gt;
make_template -f client1 base_config flash sds&lt;br /&gt;
&lt;br /&gt;
edit as usual, build as usual and the sds stuff will get applied&lt;br /&gt;
after the first reboot, exactly as a normal JET build.&lt;br /&gt;
&lt;br /&gt;
==== Is it possible to include the DB and application into the install? ====&lt;br /&gt;
&lt;br /&gt;
Absolutely; if you can script the installation and configuration of the DB and application, then JumpStart and/or JET can happily set things up during the install of Solaris.&lt;br /&gt;
&lt;br /&gt;
Use the resources at http://jet.maui.co.uk/wiki/index.php/Resources for pointers to documentation and email aliases to help if required.&lt;br /&gt;
&lt;br /&gt;
==== How can I add packages after the initial installation and patching? ====&lt;br /&gt;
&lt;br /&gt;
Solaris packages (i.e. the ones that come on the main Solaris CD's) are added using the base_config_add_package / base_config_add_cluster options in the template; these then instruct the Solaris installer to deal with them.&lt;br /&gt;
&lt;br /&gt;
To install other arbitrary packages, patches, files or scripts, look at the 'custom' module that is included in the main SUNWjet package. It has options for custom_packages and custom_patches, along with similar constructs for files and scripts.&lt;br /&gt;
&lt;br /&gt;
Be sure to read the http://jet.maui.co.uk/wiki/index.php/JETPrimer page, as it has an example of using the 'custom' module.&lt;br /&gt;
&lt;br /&gt;
==== Adding Mount Options ====&lt;br /&gt;
&lt;br /&gt;
The base_config_profile_s?_mtpt variables are used to populate the&lt;br /&gt;
client profile. The client profile allows commands such as&lt;br /&gt;
&lt;br /&gt;
filesys c1t4d0s0 1024 /var nosuid&lt;br /&gt;
&lt;br /&gt;
so you should be able to do something like&lt;br /&gt;
&lt;br /&gt;
base_config_profile_s5_mtpt=&amp;quot;/var nosuid&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Just remember the quotes!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== How do I create additional disk/mirrors ====&lt;br /&gt;
&lt;br /&gt;
JET can be used to create additional mirrors by creating the slices in the base_config section&lt;br /&gt;
&lt;br /&gt;
 ############&lt;br /&gt;
 #&lt;br /&gt;
 # You can specify additional disks to use/configure here&lt;br /&gt;
 #&lt;br /&gt;
 # additional_disks is a space separated list of c?t?d? type disk names&lt;br /&gt;
 #&lt;br /&gt;
 # For each disk listed in additional_disks, a pair of variables of the form&lt;br /&gt;
 #&lt;br /&gt;
 # base_config_profile_disk_c?t?d?s?_mtpt=&amp;quot;....&amp;quot;&lt;br /&gt;
 # base_config_profile_disk_c?t?d?s?_size=&amp;quot;....&amp;quot;&lt;br /&gt;
 #&lt;br /&gt;
 # should be defined for each slice required on the disk.&lt;br /&gt;
 #&lt;br /&gt;
 # N.B. DO NOT SET THE BOOT DISK UP HERE !&lt;br /&gt;
 #&lt;br /&gt;
 base_config_profile_additional_disks=&amp;quot;&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
ie:- If you have disks on c3 and c4 you want to mirror to c5 and c6, 1st lay out the partitions&lt;br /&gt;
&lt;br /&gt;
 base_config_profile_addtional_disks=&amp;quot;c3t0d0 c4t0d0&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 base_config_profile_disk_c3t0d0s0_mtpt=&amp;quot;/export/extra&amp;quot;&lt;br /&gt;
 base_config_profile_disk_c3t0d0s0_size=&amp;quot;10240&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 base_config_profile_disk_c4t0d0s3_mtpt=&amp;quot;/export/extra2&amp;quot;&lt;br /&gt;
 base_config_profile_disk_c4t0d0s3_size=&amp;quot;10240&amp;quot;&lt;br /&gt;
&lt;br /&gt;
etc etc&lt;br /&gt;
&lt;br /&gt;
And then use the &amp;quot;simple mirrors&amp;quot; bit of the sds template&lt;br /&gt;
&lt;br /&gt;
 ############&lt;br /&gt;
 #&lt;br /&gt;
 # You can also describe other simple mirrors - these only work if you define&lt;br /&gt;
 # the partitions in the base_config_profile_disk_ variables&lt;br /&gt;
 #&lt;br /&gt;
 # The format of this variable is a space separated list of source=target,&lt;br /&gt;
 # i.e. c0t1d0=c1t1d0 where the source is the primary&lt;br /&gt;
 #&lt;br /&gt;
 sds_simple_mirrors=&amp;quot;c3t0d0=c5t0d0 c4t0d0=c6t0d0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Anything more complicated can be achived by creating a md.tab and supplying it to the build (via the SDS module), as there was/is no point in re-inventing the wheel.&lt;br /&gt;
&lt;br /&gt;
==== JetZONES and other modules - an anomoly ====&lt;br /&gt;
&lt;br /&gt;
JetZONES will work with other modules as normal, except you will see error messages about being unable to locate packages (see below)&lt;br /&gt;
&lt;br /&gt;
This is because the zones module is intended to be architecture neutral and you will see the base_config_ClientArch= is set to &amp;quot;zone&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
After a heavy dig around the code, the only work around would be to change JET core, and that is just not going to happen.&lt;br /&gt;
&lt;br /&gt;
So, it is a case of &amp;quot;BE AWARE&amp;quot; that errors similar to below will appear when you run make_client against the zone template.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Although it says &amp;quot;FAILED&amp;quot; it will still have made the /opt/SUNWjet/Clients/&amp;lt;client&amp;gt; dir&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
An example below shows the build still worked&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
make_client output&lt;br /&gt;
&lt;br /&gt;
 checking product base_config/solariszone&lt;br /&gt;
 Checking product custom&lt;br /&gt;
 WARNING: CUSTOM: Unable to locate custom package SFWmozilla&lt;br /&gt;
 --------------------------------------------------------------&lt;br /&gt;
 Check of client b1-zone1 &lt;br /&gt;
  &lt;br /&gt;
 #######                                                   ###&lt;br /&gt;
 #          ##       #    #       ######  #####            ###&lt;br /&gt;
 #         #  #      #    #       #       #    #           ###&lt;br /&gt;
 #####    #    #     #    #       #####   #    #            #&lt;br /&gt;
 #        ######     #    #       #       #    #&lt;br /&gt;
 #        #    #     #    #       #       #    #           ###&lt;br /&gt;
 #        #    #     #    ######  ######  #####            ###&lt;br /&gt;
&lt;br /&gt;
jumpstart.log output&lt;br /&gt;
&lt;br /&gt;
 CUSTOM: Installing custom....&lt;br /&gt;
 CUSTOM: Installing SFWmozilla from: //var/opt/sun/jet/js_media/pkg/custom/i386&lt;br /&gt;
 &lt;br /&gt;
 Installation of SFWmozilla was successful.&lt;br /&gt;
 CUSTOM: SFWmozilla installation complete&lt;br /&gt;
 CUSTOM: Register postinstall script 'postinstall' for boot n&lt;br /&gt;
 ----------------------------------------------------------&lt;br /&gt;
 Product modules processed, finish up installation tasks&lt;br /&gt;
 Creating directory: /var/opt/sun/jet/system.add/updated&lt;br /&gt;
 Copying file etc/jumpstart.conf to //var/opt/sun/jet/config/jumpstart.conf&lt;br /&gt;
 Copying file Utils/smf/jetjump.xml to //var/svc/manifest/site/jetjump.xml&lt;br /&gt;
 Copying file Utils/S99jumpstart to //var/opt/sun/jet/post_install/S99jumpstart&lt;br /&gt;
 NFS Unmounting Media Directories&lt;br /&gt;
 Unmounting /var/opt/sun/jet/js_media/pkg&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting ===&lt;br /&gt;
&lt;br /&gt;
==== Solaris x86 Media on Sparc (and vice-versa) ====&lt;br /&gt;
&lt;br /&gt;
Jumpstarting with x86 Laptops and SPARC systems&lt;br /&gt;
&lt;br /&gt;
Typically a nice use for laptops is to automate the install or to allow&lt;br /&gt;
the install of systems lacking a CD-ROM drive.&lt;br /&gt;
&lt;br /&gt;
Running setup-install-server&lt;br /&gt;
&lt;br /&gt;
Prior to Solaris 9, you could use the SPARC Solaris CD and run&lt;br /&gt;
setup-install-server on your laptop as well as using an x86 Solaris CD&lt;br /&gt;
on a SPARC based system.&lt;br /&gt;
&lt;br /&gt;
This is no longer the case.&lt;br /&gt;
&lt;br /&gt;
The layout of the CD's for Solaris 8 an prior would contain a copy of&lt;br /&gt;
the miniroot under &amp;quot;Boot&amp;quot; in the Tools directory of the CD-ROM. The&lt;br /&gt;
whole filesystem would be of the &amp;quot;hsfs&amp;quot; type and thus readable across&lt;br /&gt;
architectures.&lt;br /&gt;
&lt;br /&gt;
 user:/cdrom/sol_8_202_ia/Solaris_8/Tools% ls -l&lt;br /&gt;
 total 187&lt;br /&gt;
 drwxr-xr-x  18 root     other       4096 Dec 18  2001 Boot/&lt;br /&gt;
 -rwxr-xr-x   1 root     bin        59058 Nov 27  2001 add_install_client&lt;br /&gt;
 -rwxr-xr-x   1 root     sys         1325 Nov 27  2001 dial&lt;br /&gt;
 -rwxr-xr-x   1 root     bin        18599 Nov 27  2001 rm_install_client&lt;br /&gt;
 -rwxr-xr-x   1 root     bin        11689 Nov 27  2001 setup_install_server&lt;br /&gt;
 &lt;br /&gt;
 user@machine:/cdrom/sol_8_202_sparc/s0/Solaris_8/Tools% ls -l&lt;br /&gt;
 total 187&lt;br /&gt;
 drwxr-xr-x  17 root     other       4096 Dec 18  2001 Boot/&lt;br /&gt;
 -rwxr-xr-x   1 root     bin        59058 Nov 27  2001 add_install_client&lt;br /&gt;
 -rwxr-xr-x   1 root     sys         1325 Nov 27  2001 dial&lt;br /&gt;
 -rwxr-xr-x   1 root     bin        18599 Nov 27  2001 rm_install_client&lt;br /&gt;
 -rwxr-xr-x   1 root     bin        11689 Nov 27  2001 setup_install_server&lt;br /&gt;
 &lt;br /&gt;
 user@machine:/% fstyp /vol/dev/dsk/c7t1d0/sol_8_202_ia&lt;br /&gt;
 hsfs&lt;br /&gt;
 user@machine:/% fstyp /vol/dev/dsk/c1t6d0/sol_8_202_sparc/s0&lt;br /&gt;
 hsfs&lt;br /&gt;
 user@machine:/% fstyp /vol/dev/dsk/c7t1d0/sol_8_202_ia&lt;br /&gt;
 hsfs&lt;br /&gt;
&lt;br /&gt;
s1 contains a ufs copy of the miniroot as well. This is what you're&lt;br /&gt;
actually running from when you boot off of the CD. However, as ufs is&lt;br /&gt;
architecture specific, you can't mount a SPARC ufs partition on an x86&lt;br /&gt;
box and vice versa.&lt;br /&gt;
&lt;br /&gt;
 user@machine:/% fstyp /vol/dev/dsk/c1t6d0/sol_8_202_sparc/s1&lt;br /&gt;
 ufs&lt;br /&gt;
&lt;br /&gt;
Starting with Solaris 9, there isn't enough space on CD 1 of 2. CD 1 of&lt;br /&gt;
2 should be all that is needed to do an &amp;quot;End User&amp;quot; install. Certain&lt;br /&gt;
packages therefore need to be included there.&lt;br /&gt;
&lt;br /&gt;
The hsfs copy of the miniroot takes up over 200M in the Solaris 8 2/02.&lt;br /&gt;
Freeing up this space was necessary.&lt;br /&gt;
&lt;br /&gt;
With Solaris 9, the &amp;quot;Boot&amp;quot; directory looks like this:&lt;br /&gt;
&lt;br /&gt;
 user@machine:/cdrom/sol_9_sparc/s0/Solaris_9/Tools% ls -l&lt;br /&gt;
 total 184&lt;br /&gt;
 lrwxrwxrwx   1 root     other         11 Apr 15  2002 Boot -&amp;gt; ../../../s1&lt;br /&gt;
 -rwxr-xr-x   2 root     bin        59586 Apr 15  2002 add_install_client&lt;br /&gt;
 -rwxr-xr-x   2 root     sys         1325 Apr 15  2002 dial&lt;br /&gt;
 -rwxr-xr-x   2 root     bin        18599 Apr 15  2002 rm_install_client&lt;br /&gt;
 -rwxr-xr-x   2 root     bin        13045 Apr 15  2002 setup_install_server&lt;br /&gt;
&lt;br /&gt;
s1 however is ufs, which is architecture specific.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 user@machine:/% fstyp /vol/dev/dsk/c1t0d0/sol_9_sparc/s1&lt;br /&gt;
 ufs&lt;br /&gt;
&lt;br /&gt;
If I attempt to run &amp;quot;setup_install_server&amp;quot; on my x86 laptop from a SPARC&lt;br /&gt;
Solaris 9 CD, you get the following:&lt;br /&gt;
&lt;br /&gt;
 # pwd&lt;br /&gt;
 /cdrom/sol_9_sparc/Solaris_9/Tools&lt;br /&gt;
 # ./setup_install_server /export/install/Solaris_9&lt;br /&gt;
 ERROR: Install boot image /cdrom/sol_9_sparc/Solaris_9/Tools/Boot does &lt;br /&gt;
 not exist&lt;br /&gt;
        Check that boot image exists, or use [-t] to&lt;br /&gt;
        specify a valid boot image elsewhere&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Getting it to work&lt;br /&gt;
These instructions are architecture neutral. They will work if you are&lt;br /&gt;
trying to configure jumpstart from an x86 server to a SPARC client or&lt;br /&gt;
setting up a SPARC server to jumpstart x86 clients.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Option 1: Use the DVD&lt;br /&gt;
 &lt;br /&gt;
 The Solaris OE on DVD has enough space to continue to include the&lt;br /&gt;
 miniroot in the architecture neutral portion of itself. The format is&lt;br /&gt;
 udfs, which is used for DVD's instead of hsfs for CD's.&lt;br /&gt;
 &lt;br /&gt;
 This assumes that you, of course, HAVE a DVD drive.&lt;br /&gt;
 &lt;br /&gt;
 The downside of this is that you get a bunch of stuff that might not&lt;br /&gt;
 want to include on your install image. Things such as all of&lt;br /&gt;
 localizations and languages take up space on your server's harddrive.&lt;br /&gt;
&lt;br /&gt;
Option 2: Create 2 JumpStart servers&lt;br /&gt;
&lt;br /&gt;
 You can run the setup_install_server script on the system of the same&lt;br /&gt;
 architecture and then share it out via NFS to the other system. This of&lt;br /&gt;
 course assumes that you have enough temporary space on the system.&lt;br /&gt;
 &lt;br /&gt;
 Mount up the CD-ROM locally and run &amp;quot;setup_install_server&amp;quot; as if you&lt;br /&gt;
 were going to make the system you're on a jumpstart server. I recommend&lt;br /&gt;
 installing to /export/install, but you may have another preference.&lt;br /&gt;
 After the 1st CD completes, you can add in the second one to the install&lt;br /&gt;
 image if you like or add it after you've transferred the image over.&lt;br /&gt;
 &lt;br /&gt;
 Share out the image via NFS my manually sharing it out using the share&lt;br /&gt;
 command or through /etc/dfs/dfstab with a line similar to this:&lt;br /&gt;
&lt;br /&gt;
 #Share out the jumpstart directory for installs&lt;br /&gt;
 share -F nfs -o ro,anon=0 /export/install&lt;br /&gt;
 &lt;br /&gt;
 Start the NFS server if necessary.&lt;br /&gt;
 &lt;br /&gt;
 Mount up the shared directory to your desired server.&lt;br /&gt;
 &lt;br /&gt;
 Run &amp;quot;setup_install_server&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Option 3: Use NFS&lt;br /&gt;
&lt;br /&gt;
 Using NFS, gets around the architecture issue with ufs. You can mount a&lt;br /&gt;
 NFS share on a client and the client doesn't care what the underlying&lt;br /&gt;
 filesystem is on the server.&lt;br /&gt;
 &lt;br /&gt;
 The downside here is that its a bit more complex and that it may take a&lt;br /&gt;
 bit longer to setup because you have to install the image over the&lt;br /&gt;
 network. Also, you'll need 2 systems, a SPARC based one and a x86 one.&lt;br /&gt;
 &lt;br /&gt;
 Add the following line to your /etc/rmmount.conf on the system of the&lt;br /&gt;
 same architecture that you want to create a jumpstart image of. (If you&lt;br /&gt;
 want to put a copy of Solaris 9 SPARC on your x86 laptop, add this line&lt;br /&gt;
 to the SPARC system. If you want to do put a Solaris 9 x86 image on your&lt;br /&gt;
 SPARC system, the line goes in your x86 system's rmmount.conf)&lt;br /&gt;
 &lt;br /&gt;
 # share out the CD-ROM&lt;br /&gt;
 share cdrom* -o ro,anon=0&lt;br /&gt;
 &lt;br /&gt;
 This line causes vold automatically share out the CD-ROM and all&lt;br /&gt;
 partitions on that CD. This is needed because NFS sharing doesn't span&lt;br /&gt;
 filesystems automatically. &amp;quot;anon=0&amp;quot; causes reads by UID=0, which is&lt;br /&gt;
 normally mapped to user &amp;quot;nobody&amp;quot; by NFS for security reasons to remain&lt;br /&gt;
 mapped to UID=0. This isn't a security issue here because the CD is a&lt;br /&gt;
 Read-Only medium anyways.&lt;br /&gt;
 &lt;br /&gt;
 You will need to re-start vold. Runnning &amp;quot;/etc/init.d/volmgt stop&amp;quot; and&lt;br /&gt;
 &amp;quot;/etc/init.d/volmgt start&amp;quot; will do this.&lt;br /&gt;
 &lt;br /&gt;
 You'll likely need to start up the NFS server processes as well. You can&lt;br /&gt;
 either manually start them each time you boot your system or put the&lt;br /&gt;
 following into /etc/dfs/dfstab&lt;br /&gt;
 &lt;br /&gt;
 share -F nfs -o ro,anon=0 /cdrom&lt;br /&gt;
 &lt;br /&gt;
 If you don't have NFS already sharing out filesystems, you'll need to&lt;br /&gt;
 start it by running &amp;quot;/etc/init.d/nfs.server start&amp;quot; as root.&lt;br /&gt;
 &lt;br /&gt;
 At this point, drop in your CD into the appropriate system. It should&lt;br /&gt;
 mount and share things automatically.&lt;br /&gt;
 &lt;br /&gt;
 # mount&lt;br /&gt;
 /cdrom/sol_9_x86/s2 on /vol/dev/dsk/c1t0d0/sol_9_x86/s2 read &lt;br /&gt;
only/nosuid/maplcase/noglobal/rr/traildot/dev=1740003 on Tue Dec  3 &lt;br /&gt;
15:09:39 2002&lt;br /&gt;
 /cdrom/sol_9_x86/s0 on /vol/dev/dsk/c1t0d0/sol_9_x86/s0 read &lt;br /&gt;
only/nosuid/intr/largefiles/onerror=panic/dev=1740001 on Tue Dec  3 &lt;br /&gt;
15:09:39 2002&lt;br /&gt;
 &lt;br /&gt;
 # share&lt;br /&gt;
 -               /cdrom   ro,anon=0   &amp;quot;&amp;quot;&lt;br /&gt;
 -               /cdrom/sol_9_x86/s2   ro,anon=0   &amp;quot;&amp;quot;&lt;br /&gt;
 -               /cdrom/sol_9_x86/s0   ro,anon=0   &amp;quot;&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 At this point you should be able to CD down&lt;br /&gt;
 to the appropriate location to run your setup_install_server.&lt;br /&gt;
 &lt;br /&gt;
 # pwd&lt;br /&gt;
 /&lt;br /&gt;
 # cd /cdrom/sol_9_x86/s2/Solaris_9/Tools&lt;br /&gt;
 # pwd&lt;br /&gt;
 /cdrom/sol_9_x86/s2/Solaris_9/Tools&lt;br /&gt;
 # ls&lt;br /&gt;
 Boot                  dial                  setup_install_server&lt;br /&gt;
 add_install_client    rm_install_client&lt;br /&gt;
 &lt;br /&gt;
 Alternately, you can mount up the directories manually. For example: &lt;br /&gt;
 &lt;br /&gt;
 # mount -F nfs -o ro dhcp-ublm02-228-227:/cdrom /mnt&lt;br /&gt;
 # mount -F nfs -o ro dhcp-ublm02-228-227:/cdrom/sol_9_x86/s0 /mnt/sol_9_x86/s0&lt;br /&gt;
 # mount -F nfs -o ro dhcp-ublm02-228-227:/cdrom/sol_9_x86/s2 /mnt/sol_9_x86/s2&lt;br /&gt;
 &lt;br /&gt;
 All 3 mounts are needed as we have 3 separate filesystems and NFS&lt;br /&gt;
 doesn't span filesystems.&lt;br /&gt;
 &lt;br /&gt;
 Now run your &amp;quot;setup_install_server&amp;quot; script. &lt;br /&gt;
 &lt;br /&gt;
 # ./setup_install_server /export/install/sol_9_x86&lt;br /&gt;
 Verifying target directory...&lt;br /&gt;
 Calculating the required disk space for the Solaris_9 product&lt;br /&gt;
 Calculating space required for the installation boot image&lt;br /&gt;
 Copying the CD image to disk...&lt;br /&gt;
 Copying Install Boot Image hierarchy...&lt;br /&gt;
 Install Server setup complete&lt;br /&gt;
&lt;br /&gt;
 You can either install the CDROM 2 of 2 through this method or drop it&lt;br /&gt;
 in locally as it is in the hsfs format.&lt;br /&gt;
&lt;br /&gt;
There are lots of ways that this can be done outside of this particular&lt;br /&gt;
method. Your mileage may vary.&lt;br /&gt;
&lt;br /&gt;
==== ARP/RARP Timeouts ====&lt;br /&gt;
&lt;br /&gt;
When building a server, you can get the ethernet address from the Open Boot Prom 'banner' command at the 'ok' prompt. By default, this ethernet address is shared between all the ethernet interfaces of the host, so performing a JumpStart off an ethernet interface other than the default alias 'net' proceeds as normal.&lt;br /&gt;
&lt;br /&gt;
When using IPMP or Sun Cluster 3, the value of the Open Boot Prom 'local-mac-address' option is set to true which in turn means that every ethernet interface uses it's own ethernet address, and not the hardcoded one in the Open Boot Prom.&lt;br /&gt;
&lt;br /&gt;
On subsequent re-build attempts over the onboard default 'net' interface, everything is ok; however, if you are building over a different device to 'net' the ethernet address may not match the one you originally used in your template.&lt;br /&gt;
&lt;br /&gt;
As the JumpStart server /etc/ethers files does not match this new ethernet address, it is unable to reply to the booting machine, hence the extended period of ARP/RARP timeouts.&lt;br /&gt;
&lt;br /&gt;
To locate mac addresses for different adapters when local-mac-address? is set to true, you can do the following:&lt;br /&gt;
&lt;br /&gt;
    * At the OBP prompt, do a 'show-nets' to list the network adapters available&lt;br /&gt;
    * Select the adapter&lt;br /&gt;
    * cd &amp;lt;ctrl+y&amp;gt;&lt;br /&gt;
    * .properties&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== System hangs at a # prompt ====&lt;br /&gt;
&lt;br /&gt;
If 'diag-switch?' is set to true in OBP, the system will hang at the '#' prompt prior to rebooting, just after Solaris has installed.&lt;br /&gt;
&lt;br /&gt;
This seems to happen on all types of hosts from V100's through to F15Ks. You need to use the appropriate commands to change the obp setting depending on your platform.&lt;br /&gt;
&lt;br /&gt;
==== Forcing Speed/Duplex during JumpStart ====&lt;br /&gt;
&lt;br /&gt;
You really should just use Auto-negotiation on switches; it works these days and is reliable.&lt;br /&gt;
&lt;br /&gt;
Turning autonegotiation off and setting speed/mode manually is called&lt;br /&gt;
&amp;quot;forced mode&amp;quot;.&lt;br /&gt;
For the Sun[TM] GigaSwift on-board interfaces and Network Interface Cards&lt;br /&gt;
(ce), and for bge on-board interfaces, boot in &amp;quot;forced mode&amp;quot; is possible.&lt;br /&gt;
&lt;br /&gt;
In jumpstart &amp;quot;boot net&amp;quot;, 3 steps are involved.&lt;br /&gt;
The driver must be forced in all 3 steps of the jumpstart boot process.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1st Step: force the interface on boot prom for booting&lt;br /&gt;
&lt;br /&gt;
 ok boot /pci@1f,2000/pci@1/network@0:speed=100,duplex=full,&lt;br /&gt;
        or&lt;br /&gt;
 ok devalias net /pci@1f,2000/pci@1/network@0:speed=100,duplex=full,&lt;br /&gt;
 ok boot net&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2nd Step: inetboot is loaded.&lt;br /&gt;
&lt;br /&gt;
 An inetboot file on the boot server which honours the &amp;quot;forced&amp;quot; ce setting is needed. &lt;br /&gt;
 This is included in Solaris 8 Patch-ID# 111306-05 , for Solaris 9, it's&lt;br /&gt;
 Patch-ID# 113578-01 .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3rd Step: client uses the OS from the file system of the boot server&lt;br /&gt;
&lt;br /&gt;
 create a&lt;br /&gt;
 ../Boot/platform/sun4u/kernel/drv/ce.conf  or&lt;br /&gt;
 ../Boot/platform/sun4u/kernel/drv/bge.conf&lt;br /&gt;
 (the same directory, in which the ce 32 bit driver sits, one single line,&lt;br /&gt;
 example for 100 FDX):&lt;br /&gt;
 &lt;br /&gt;
 adv_autoneg_cap=0 adv_1000fdx_cap=0 adv_1000hdx_cap=0 adv_100fdx_cap=1 &lt;br /&gt;
 adv_100hdx_cap=0 adv_10fdx_cap=0 adv_10hdx_cap=0;&lt;br /&gt;
&lt;br /&gt;
==== JumpStart &amp;amp; JET logs ====&lt;br /&gt;
&lt;br /&gt;
JumpStart saves a log of the output from the system install in the file /var/sadm/system/logs/finish.log. The bad news, is that only covers the log output up to the reboot at the end of the initial install.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
JET includes post-reboot processing in most cases, so the complete JET log (a superset of the JumpStart log) can be found at /var/opt/sun/jet/jumpstart_install.log. There is also a link to the system log called finish.log in the same directory.&lt;br /&gt;
&lt;br /&gt;
The JET log will include the system finish log output and also any output from JET processing at subsequent reboots.&lt;br /&gt;
&lt;br /&gt;
==== Solaris 10, SSH doesn't start ====&lt;br /&gt;
&lt;br /&gt;
When JumpStart'ing Solaris 10 GA (and maybe some of the updates), the ssh software is installed but the daemon doesn't start; 'svcs -a' reporting it in a maintenance state.&lt;br /&gt;
&lt;br /&gt;
The root cause is that the ssh host key is not created for some reason, so you need to execute the following commands:&lt;br /&gt;
&lt;br /&gt;
 /lib/svc/method/sshd -c&lt;br /&gt;
 /usr/sbin/svcadm clear network/ssh&lt;br /&gt;
&lt;br /&gt;
In JET, you could put the commands into a script in /opt/jet/Clients/common.files/fixup-ssh and then use custom_scripts=&amp;quot;fixup-ssh&amp;quot; to get JET to fix the problem for you.&lt;br /&gt;
&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 #&lt;br /&gt;
 # Fix Up SSH on Solaris 10&lt;br /&gt;
 #&lt;br /&gt;
 if [ ! -f /etc/ssh/ssh_host_rsa_key -o ! -f /etc/ssh/ssh_host_dsa_key ]; then&lt;br /&gt;
        /lib/svc/method/sshd -c &lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 /usr/sbin/svcadm clear network/ssh&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== TFTP Problems While Booting ====&lt;br /&gt;
&lt;br /&gt;
A number of people have come across problems with TFTP; specifically TFTP failing during (or sometimes at the start of) a transfer.&lt;br /&gt;
&lt;br /&gt;
TFTP is the 'Trivial File Transfer Protocol' and as such has some simple limitations. One such, is that the original protocol allows up to 65,536 blocks to be transferred; each block defaulting to 512 bytes -&amp;gt; 32Mb limit.&lt;br /&gt;
&lt;br /&gt;
Some implementations allow the block size to be increased, others allow the block counter to roll-over; 65,536 == 0 again.&lt;br /&gt;
&lt;br /&gt;
Sun changed their in.tfptd implementation between Solaris 8 and 9, and from tests, it seems they have added the 'change block size' code. Tests on Solaris 9 and 10 indicate that the Sun in.tftpd server still stops at block 65,536 though.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Solaris 10 Update 1 for x86/64 has a new boot mechanism, and the file to be downloaded via TFTP is 48Mb or so. If you are using a Solaris 8 JumpStart server, then you are going to hit trouble. Either move to Solaris 9 or you could try and take the in.tftpd binary from a Solaris 9 client.If things still don't work, then you could go off and google for a replacement tftpd server; http://www.kernel.org/pub/software/network/tftp/ has done the trick for me in the past, and doesn't need much to convince it to compile under Solaris.&lt;br /&gt;
&lt;br /&gt;
==== Solaris 10 Update 1 and Flash archive problems ====&lt;br /&gt;
&lt;br /&gt;
When deploying a flash archive taken from a Solaris 10 Update 1 install, the initial flash completes, but subsequent JET processing stops after the first reboot.&lt;br /&gt;
&lt;br /&gt;
When you build a system using flash on Solaris 10, the smf(1m) database gets stored as part of the flash archive. Under Solaris 10 GA/FCS, the smf(1m) database entries were keyed using the manifest inode number (amongst other things), so when you redeployed the flash, the inode numbers changed and smf(1m) re-scanned the manifest files.&lt;br /&gt;
&lt;br /&gt;
Under Solaris 10 Update 1, Sun have removed the inode time from the database key, so it doesn't rebuild the database as it used to.&lt;br /&gt;
&lt;br /&gt;
If you built the original system using JET, the jetjump.xml file is still 'known about' by the smf(1m) database, so when you come to deploy the flash archive using JET, smf(1m) happily ignores the newly deposited jetjump.xml file.&lt;br /&gt;
&lt;br /&gt;
Officially, this is a bug/feature introduced in Solaris 10 Update 1 (BugID 6251841). The version of JET about to be released has a work around for this situation, so it will go away.&lt;br /&gt;
&lt;br /&gt;
The work around for now, is to do the following *before* creating the flash archive:&lt;br /&gt;
&lt;br /&gt;
 # svccfg -s smf/manifest delpg var_svc_manifest_site_jetjump_xml&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This 'feature' is also present in Nevada builds (Solaris Express / Solaris 11).&lt;br /&gt;
&lt;br /&gt;
==== Unable to locate suitable disks ====&lt;br /&gt;
&lt;br /&gt;
If you install Solaris onto scrubbed disks which have no Solaris label on them, the install will halt because it can't find disks to install too. This is normally more of an issue with x86 systems that don't have a Solaris partition, but can also be encountered on Sparc boxes too.&lt;br /&gt;
&lt;br /&gt;
On Sparc systems, use the 'format' command to 'label' the disks; on x86, fdisk can be used to create a Solaris partition.&lt;br /&gt;
&lt;br /&gt;
==== I am warned about missing patches, but cannot add ====&lt;br /&gt;
&lt;br /&gt;
If you get the warning&lt;br /&gt;
&lt;br /&gt;
 WARNING: Patch 119375-11 has not been applied to the boot image.&lt;br /&gt;
&lt;br /&gt;
And then run the patchadd -C command as instructed, only to be told the patch is already present,&lt;br /&gt;
&lt;br /&gt;
This may be because patchadd was broken in Solaris 10 (03/05) and failed to check correctly. This has been fixed with later versions/patches.&lt;br /&gt;
&lt;br /&gt;
Alternatively if you are using Solaris 10 01/06 or later there is an issue that patchadd cannot check the mini-root.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As it is only a WARNING, it will not cause make_client to fail. If make_client fails, look back to identify earlier FAIL messages.&lt;br /&gt;
&lt;br /&gt;
A future release of JET may well bypass this error&lt;br /&gt;
&lt;br /&gt;
=== Bug / Problem Reporting ===&lt;br /&gt;
&lt;br /&gt;
==== Having Problems with JET and need help ? ====&lt;br /&gt;
&lt;br /&gt;
If you post a question here that concerns a specific problem you are seeing with JET, then please include the template and the output from /var/opt/sun/jet/jumpstart_install.log - or at the very least, say you have that information and be prepared to send it on to who ever elects to try to help you. &lt;br /&gt;
&lt;br /&gt;
==== Reporting a Bug ====&lt;br /&gt;
&lt;br /&gt;
Think you've found a bug in JET ? If so, first up check it is a bug by asking the appropriate question on this website or send your theory and reasoning to jet@sun.com.&lt;br /&gt;
&lt;br /&gt;
JET 'evolved' over about 5+ years, so the chance of someone making a mistake in the scripting is not beyond possibility! It could however be something JET was not designed for in which case it's an RFE - Request For Enhancement.&lt;br /&gt;
&lt;br /&gt;
==== Request For Enhancements (RFEs) ====&lt;br /&gt;
&lt;br /&gt;
If you discover something you want changed in JET, then it normally falls into two categories:&lt;br /&gt;
&lt;br /&gt;
    Implement it in a module&lt;br /&gt;
&lt;br /&gt;
        Support for non-core features or additional configuration work can be easily delivered through a new JET module. This way, the main code base stays unaffected for the vast majority of people who use it, and the module can evolve as the authors see fit.&lt;br /&gt;
&lt;br /&gt;
    Submit the change as an RFE&lt;br /&gt;
&lt;br /&gt;
        If the feature needs to go into the main JET package or one of the pre-supplied modules and can not be delivered as a module, then you need to discuss the matter with the JET folks at Sun (jet@sun.com) and work on drafting an RFE. Depending on how much they agree with your suggestion and how much time they have, the actual change could be made quickly or could take months - such is the nature of change.&lt;/div&gt;</summary>
		<author><name>Marty</name></author>
	</entry>
	<entry>
		<id>https://jet.maui.co.uk/wiki/index.php?title=Main_Page&amp;diff=1455</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://jet.maui.co.uk/wiki/index.php?title=Main_Page&amp;diff=1455"/>
		<updated>2012-06-08T21:11:18Z</updated>

		<summary type="html">&lt;p&gt;Marty: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOEDITSECTION__ __NOTOC__&lt;br /&gt;
== JET Resources ==&lt;br /&gt;
&lt;br /&gt;
* [[Documents|JET Documents]]&lt;br /&gt;
* [[Resources|JET Resources]]&lt;br /&gt;
* [[Faq|JET FAQ]]&lt;br /&gt;
&lt;br /&gt;
If you wish to contribute to the JET Resources community, please contact us and ask for access to the Wiki.&lt;br /&gt;
&lt;br /&gt;
== About JET ==&lt;br /&gt;
&lt;br /&gt;
=== What Is the JumpStart Enterprise Toolkit ? ===&lt;br /&gt;
&lt;br /&gt;
The JumpStart Enterprise Toolkit is the name given to the Sun Microsystems JumpStart Framework, developed by Sun in the UK. &lt;br /&gt;
&lt;br /&gt;
The toolkit was incorporated into the N1 SPS suite and might still be found within that (if you have access to it).&lt;br /&gt;
&lt;br /&gt;
Now Sun has been bought by Oracle, the download location has moved to: [http://www.oracle.com/technetwork/systems/jet-toolkit/index.html OTN]&lt;br /&gt;
&lt;br /&gt;
=== JumpStart Information ===&lt;br /&gt;
&lt;br /&gt;
There are many benefits to using a framework to extend the functionality of JumpStart, for example:&lt;br /&gt;
&lt;br /&gt;
* improve the consistency of system installs&lt;br /&gt;
* faster implementation of projects&lt;br /&gt;
* improve build quality of the installations&lt;br /&gt;
* embed company best practices &lt;br /&gt;
&lt;br /&gt;
The toolkit is aimed at providing basic OS installations along with frequently used/requested addtional product installation, and minimal configuration.&lt;/div&gt;</summary>
		<author><name>Marty</name></author>
	</entry>
	<entry>
		<id>https://jet.maui.co.uk/wiki/index.php?title=MediaWiki:Sidebar&amp;diff=1454</id>
		<title>MediaWiki:Sidebar</title>
		<link rel="alternate" type="text/html" href="https://jet.maui.co.uk/wiki/index.php?title=MediaWiki:Sidebar&amp;diff=1454"/>
		<updated>2010-01-14T16:45:18Z</updated>

		<summary type="html">&lt;p&gt;Marty: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* navigation&lt;br /&gt;
** http://jet.maui.co.uk|JET Home &lt;br /&gt;
** Faq|Faq&lt;br /&gt;
** documents|Documents&lt;br /&gt;
** resources|Resources&lt;br /&gt;
** recentchanges-url|recentchanges&lt;br /&gt;
** randompage-url|randompage&lt;/div&gt;</summary>
		<author><name>Marty</name></author>
	</entry>
	<entry>
		<id>https://jet.maui.co.uk/wiki/index.php?title=Main_Page&amp;diff=1453</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://jet.maui.co.uk/wiki/index.php?title=Main_Page&amp;diff=1453"/>
		<updated>2010-01-14T16:44:27Z</updated>

		<summary type="html">&lt;p&gt;Marty: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOEDITSECTION__ __NOTOC__&lt;br /&gt;
== JET Resources ==&lt;br /&gt;
&lt;br /&gt;
* [[Documents|JET Documents]]&lt;br /&gt;
* [[Resources|JET Resources]]&lt;br /&gt;
* [[Faq|JET FAQ]]&lt;br /&gt;
&lt;br /&gt;
If you wish to contribute to the JET Resources community, please contact us and ask for access to the Wiki.&lt;br /&gt;
&lt;br /&gt;
== About JET ==&lt;br /&gt;
&lt;br /&gt;
=== What Is the JumpStart Enterprise Toolkit ? ===&lt;br /&gt;
&lt;br /&gt;
The JumpStart Enterprise Toolkit is the name given to the Sun Microsystems JumpStart Framework, developed by Sun in the UK. The toolkit is part of the N1 SPS suite and is available as a seperate download from [http://onesearch.sun.com/search/onesearch/index.jsp?col=downloads-products&amp;amp;qt=JumpStart+Enterprise+Toolkit Sun Download Centre]&lt;br /&gt;
&lt;br /&gt;
Sun have also started to use a wiki for documenting the features of JET - [http://wikis.sun.com/display/JET Sun JET Wiki]&lt;br /&gt;
&lt;br /&gt;
=== JumpStart Information ===&lt;br /&gt;
&lt;br /&gt;
There are many benefits to using a framework to extend the functionality of JumpStart, for example:&lt;br /&gt;
&lt;br /&gt;
* improve the consistency of system installs&lt;br /&gt;
* faster implementation of projects&lt;br /&gt;
* improve build quality of the installations&lt;br /&gt;
* embed company best practices &lt;br /&gt;
&lt;br /&gt;
The toolkit is aimed at providing basic OS installations along with frequently used/requested addtional product installation, and minimal configuration.&lt;/div&gt;</summary>
		<author><name>Marty</name></author>
	</entry>
	<entry>
		<id>https://jet.maui.co.uk/wiki/index.php?title=Main_Page&amp;diff=1452</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://jet.maui.co.uk/wiki/index.php?title=Main_Page&amp;diff=1452"/>
		<updated>2010-01-14T16:43:38Z</updated>

		<summary type="html">&lt;p&gt;Marty: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOEDITSECTION__ __NOTOC__&lt;br /&gt;
&lt;br /&gt;
== JET Resources ==&lt;br /&gt;
&lt;br /&gt;
* [[Documents|JET Documents]]&lt;br /&gt;
* [[Resources|JET Resources]]&lt;br /&gt;
* [[Faq|JET FAQ]]&lt;br /&gt;
&lt;br /&gt;
If you wish to contribute to the JET Resources community, please contact us and ask for access to the Wiki.&lt;br /&gt;
&lt;br /&gt;
== About JET ==&lt;br /&gt;
&lt;br /&gt;
=== What Is the JumpStart Enterprise Toolkit ? ===&lt;br /&gt;
&lt;br /&gt;
The JumpStart Enterprise Toolkit is the name given to the Sun Microsystems JumpStart Framework, developed by Sun in the UK. The toolkit is part of the N1 SPS suite and is available as a seperate download from [http://onesearch.sun.com/search/onesearch/index.jsp?col=downloads-products&amp;amp;qt=JumpStart+Enterprise+Toolkit Sun Download Centre]&lt;br /&gt;
&lt;br /&gt;
Sun have also started to use a wiki for documenting the features of JET - [http://wikis.sun.com/display/JET Sun JET Wiki]&lt;br /&gt;
&lt;br /&gt;
=== JumpStart Information ===&lt;br /&gt;
&lt;br /&gt;
There are many benefits to using a framework to extend the functionality of JumpStart, for example:&lt;br /&gt;
&lt;br /&gt;
* improve the consistency of system installs&lt;br /&gt;
* faster implementation of projects&lt;br /&gt;
* improve build quality of the installations&lt;br /&gt;
* embed company best practices &lt;br /&gt;
&lt;br /&gt;
The toolkit is aimed at providing basic OS installations along with frequently used/requested addtional product installation, and minimal configuration.&lt;/div&gt;</summary>
		<author><name>Marty</name></author>
	</entry>
	<entry>
		<id>https://jet.maui.co.uk/wiki/index.php?title=Main_Page&amp;diff=1449</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://jet.maui.co.uk/wiki/index.php?title=Main_Page&amp;diff=1449"/>
		<updated>2009-05-04T08:23:36Z</updated>

		<summary type="html">&lt;p&gt;Marty: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOEDITSECTION__ __NOTOC__&lt;br /&gt;
== News ==&lt;br /&gt;
[[Image:Jumpstart_title.gif|Jumpstart_title.gif|frame|]]&lt;br /&gt;
&amp;lt;rss&amp;gt;http://blog.maui.co.uk/index.php/jet/?tempskin=_rss2|title=none|max=5&amp;lt;/rss&amp;gt;&lt;br /&gt;
&lt;br /&gt;
News is also available through an [http://blog.maui.co.uk/index.php/mtb/?tempskin=_rss2 RSS] feed.&lt;br /&gt;
&lt;br /&gt;
== JET Resources ==&lt;br /&gt;
&lt;br /&gt;
* [[Documents|JET Documents]]&lt;br /&gt;
* [[Resources|JET Resources]]&lt;br /&gt;
* [[Faq|JET FAQ]]&lt;br /&gt;
&lt;br /&gt;
If you wish to contribute to the JET Resources community, please contact us and ask for access to the Wiki.&lt;br /&gt;
&lt;br /&gt;
== About JET ==&lt;br /&gt;
&lt;br /&gt;
=== What Is the JumpStart Enterprise Toolkit ? ===&lt;br /&gt;
&lt;br /&gt;
The JumpStart Enterprise Toolkit is the name given to the Sun Microsystems JumpStart Framework, developed by Sun in the UK. The toolkit is part of the N1 SPS suite and is available as a seperate download from [http://onesearch.sun.com/search/onesearch/index.jsp?col=downloads-products&amp;amp;qt=JumpStart+Enterprise+Toolkit Sun Download Centre]&lt;br /&gt;
&lt;br /&gt;
Sun have also started to use a wiki for documenting the features of JET - [http://wikis.sun.com/display/JET Sun JET Wiki]&lt;br /&gt;
&lt;br /&gt;
=== JumpStart Information ===&lt;br /&gt;
&lt;br /&gt;
There are many benefits to using a framework to extend the functionality of JumpStart, for example:&lt;br /&gt;
&lt;br /&gt;
* improve the consistency of system installs&lt;br /&gt;
* faster implementation of projects&lt;br /&gt;
* improve build quality of the installations&lt;br /&gt;
* embed company best practices &lt;br /&gt;
&lt;br /&gt;
The toolkit is aimed at providing basic OS installations along with frequently used/requested addtional product installation, and minimal configuration.&lt;/div&gt;</summary>
		<author><name>Marty</name></author>
	</entry>
	<entry>
		<id>https://jet.maui.co.uk/wiki/index.php?title=Resources&amp;diff=1448</id>
		<title>Resources</title>
		<link rel="alternate" type="text/html" href="https://jet.maui.co.uk/wiki/index.php?title=Resources&amp;diff=1448"/>
		<updated>2009-05-04T08:21:55Z</updated>

		<summary type="html">&lt;p&gt;Marty: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== JET Web Resources ==&lt;br /&gt;
&lt;br /&gt;
* [http://onesearch.sun.com/search/onesearch/index.jsp?col=downloads-products&amp;amp;qt=JumpStart+Enterprise+Toolkit JET Download]&lt;br /&gt;
* [http://wikis.sun.com/display/JET Sun's JET Wiki] (documents etc)&lt;br /&gt;
* [http://www.sun.com/bigadmin/content/jet/ JET @ BigAdmin]&lt;br /&gt;
* [mailto:jet@sun.com Sun's JET Alias] - for reporting bugs or asking Sun for help etc&lt;br /&gt;
* [http://groups.yahoo.com/group/JETJumpStart/ JET Yahoo Group] &amp;amp; [mailto:JumpStart@yahoogroups.com JET Yahoo Group mail alias]&lt;br /&gt;
&lt;br /&gt;
== Modules ==&lt;br /&gt;
&lt;br /&gt;
* [[CustomUpdate]] : Automatically keeps your custom packages up to date from your packages directory&lt;br /&gt;
* [[Copy]] : Module that specialises in copying files or directories as part of the install process&lt;br /&gt;
* [[N1SM]] : Sun N1 System Manager installation module&lt;/div&gt;</summary>
		<author><name>Marty</name></author>
	</entry>
	<entry>
		<id>https://jet.maui.co.uk/wiki/index.php?title=Faq&amp;diff=1447</id>
		<title>Faq</title>
		<link rel="alternate" type="text/html" href="https://jet.maui.co.uk/wiki/index.php?title=Faq&amp;diff=1447"/>
		<updated>2008-05-23T13:35:26Z</updated>

		<summary type="html">&lt;p&gt;Marty: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Frequently Asked Questions ==&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
&lt;br /&gt;
==== What are these '.pkg'/'pkg.bz2' files ? ====&lt;br /&gt;
&lt;br /&gt;
&amp;quot;I've just downloaded the packages from the website, and now have files with a .pkg suffix. What do I do next ?&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The files you have are datastream packages. To install them, run&lt;br /&gt;
&lt;br /&gt;
      pkgadd -d filename.pkg&lt;br /&gt;
&lt;br /&gt;
rather than the more usual pkgadd -d . [pkgname]&lt;br /&gt;
&lt;br /&gt;
You can migrate the datastream format packages to regular directory based packages by using the pkgtrans(1m) command.&lt;br /&gt;
&lt;br /&gt;
      pkgtrans filename.pkg . all&lt;br /&gt;
&lt;br /&gt;
Basically, read up on pkgadd(1m) and pkgtrans(1m) !&lt;br /&gt;
&lt;br /&gt;
==== A GUI Frontend for JET ====&lt;br /&gt;
&lt;br /&gt;
Is there a Web Front End for JET ?&lt;br /&gt;
&lt;br /&gt;
Probably the most frequently requested feature. The short answer is 'no, there is no generic web front end for JET'.&lt;br /&gt;
&lt;br /&gt;
The long answer is that typically, web front ends are written to expose a subset of the features available in JET. For the case of 'standard builds', you may wish to have a pull down list of available builds and just plug in the MAC and IP addresses etc.&lt;br /&gt;
&lt;br /&gt;
As these front ends, with only a subset of features presented, are very much customised for a particular use/customer, it's work you need to do!&lt;br /&gt;
&lt;br /&gt;
If a 'generic web front end' was provided, it would need to be kept up to date with every modification to the toolkit. Quite frankly, it isn't going to be that useful to many people.&lt;br /&gt;
&lt;br /&gt;
JET has been designed so it is pretty easy to front end yourself.&lt;br /&gt;
&lt;br /&gt;
==== Getting Help with JET ====&lt;br /&gt;
&lt;br /&gt;
There are a number of places you can go for help with JET; first up is obviously Sun themselves - Email the people who look after JET on the alias jet@sun.com and someone should get back to you pretty quickly (UK Timezone).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sun have also put up information on the JET BigAdmin page at http://www.sun.com/bigadmin/content/jet/ and Mike Ramchand (one of the authors) tends to write things about JET in his blog at http://blogs.sun.com/roller/page/mramcha/20050826&lt;br /&gt;
&lt;br /&gt;
External to Sun are a number of resources; there is a Yahoo group at http://groups.yahoo.com/group/JETJumpStart/ and of course, you can approach me (marty at Maui-Systems dot co dot uk) as the other author of the toolkit from when I used to work for Sun.&lt;br /&gt;
&lt;br /&gt;
==== Whats in the Free Bundle ? ====&lt;br /&gt;
&lt;br /&gt;
The JET bundle downloadable from http;//www.sun.com/downloads currently (as of May 2006) contains the following modules.&lt;br /&gt;
&lt;br /&gt;
    * SUNWjet - The core JET product&lt;br /&gt;
    * SUNWjetd - The documentation - Please read&lt;br /&gt;
    * JetSDS - Configure SVM/SDS&lt;br /&gt;
    * JetVTS - Install the Test Suite&lt;br /&gt;
    * JetEXPLO - Install and configure Explorer&lt;br /&gt;
    * JetFLASH - Utilise flash archives for installation&lt;br /&gt;
    * JetSAN - Configure SANs&lt;br /&gt;
    * JetJASS - JASS toolkit install and configuration&lt;br /&gt;
    * JetZONES - Add local zones to your Solaris 10 global zones as part of the build&lt;br /&gt;
    * JetWanBoot - Plugin to allow JET to perform WANBOOTt installations&lt;br /&gt;
    * JetRBAC - Enables none root users to run JET using RBAC&lt;br /&gt;
&lt;br /&gt;
Sun releases/refreshes the bundle on an ad-hoc basis and normally communicates this fact to the comp.unix.solaris and alt.solaris.x86 newsgroups.&lt;br /&gt;
&lt;br /&gt;
==== Solaris 10 U1 (01/06) grub/newboot ====&lt;br /&gt;
&lt;br /&gt;
With the release of Solaris 10 Update 1 (01/06), the x86/64 platform boot method was transitioned to 'grub', finally doing away with the old DCA pre-boot environment. This new boot method was refered to as &amp;quot;newboot&amp;quot; internally to Sun and the phrase seems to have stuck.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To deal with this a JetNEWBOOT module was developed to &amp;quot;plugin&amp;quot; to JET versions prior to JET 4.2 to support this new boot environment. When JET 4.2 is released, the 'grub' installation method will be part of the core JET product.&lt;br /&gt;
&lt;br /&gt;
When using JetNEWBOOT, all you need to amend in your template is the&lt;br /&gt;
&lt;br /&gt;
    * base_config_allocation_method=&amp;quot;newboot&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As a guide to what to use:&lt;br /&gt;
&lt;br /&gt;
    * With Solaris 10 GA (03/05)&lt;br /&gt;
          o base_config_allocation_method=&amp;quot;dhcp&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
    * With Solaris 10 Update 1 (01/06) and above, JET (&amp;lt; 4.2) and JetNEWBOOT&lt;br /&gt;
          o base_config_allocation_method=&amp;quot;newboot&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
    * With Solaris 10 Update 1 (01/06) and above, JET (&amp;gt;= 4.2)&lt;br /&gt;
          o base_config_allocation_method=&amp;quot;grub&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
JetNEWBOOT is now part of the downloadable bundle from Sun but will not be required once JET 4.2 is released.&lt;br /&gt;
&lt;br /&gt;
==== Using 'iso' images instead of CD/DVDs ====&lt;br /&gt;
&lt;br /&gt;
The following was derived from information at http://www.unix.com/showthread.php?t=18074&lt;br /&gt;
&lt;br /&gt;
When using Solaris ISO images, the start of the image contains a hsfs (high sierra filesystem) with a couple of ufs filesystems appended to the end of it.&lt;br /&gt;
&lt;br /&gt;
The problem, is that using lofiadm, only the hsfs image is spotted and made available; the ufs filesystems are not seen, so you end up with broken links to 's1' and the like.&lt;br /&gt;
&lt;br /&gt;
To set up a JumpStart server using Solaris ISO images, you must have access to both slice 0 and slice 1 on the image.&lt;br /&gt;
&lt;br /&gt;
To fix the problem, split the contents of slice 1 into it's own image file and then mount this image separately using lofi.&lt;br /&gt;
&lt;br /&gt;
The following procedure describes how to do this.&lt;br /&gt;
&lt;br /&gt;
 # ls -l sol-9*&lt;br /&gt;
 -rw-r--r-- 1 root root 576364544 Jan 1 11:16 sol-9-u1-sparc-v1.iso&lt;br /&gt;
 -rw-r--r-- 1 root root 291962880 Jan 1 21:42 sol-9-u1-sparc-v2.iso&lt;br /&gt;
 &lt;br /&gt;
 This only applies to CD 1, all other isos can be mounted using lofiadm in the normal way.&lt;br /&gt;
 &lt;br /&gt;
 1. Get a copy of the VTOC from the ISO image:&lt;br /&gt;
 &lt;br /&gt;
   # dd if=sol-9-u1-sparc-v1.iso of=vtoc bs=512 count=1&lt;br /&gt;
   1+0 records in&lt;br /&gt;
   1+0 records out&lt;br /&gt;
 &lt;br /&gt;
 2. Now find out where Slice 1 starts in the image and how long it is. The starting cylinder for slice 1 is located at offset 452 (decimal) into the VTOC; the length in blocks is at offset 456, with both being 4 bytes long.&lt;br /&gt;
 &lt;br /&gt;
   # od -D -j 452 -N 8 &amp;lt; vtoc&lt;br /&gt;
   0000000 0000000888 0000546560&lt;br /&gt;
   0000010&lt;br /&gt;
 &lt;br /&gt;
 Slice 1 starts on cylinder 888, and is 546,560 blocks long. CD for the Solaris OS always have 640 blocks per cylinder, so you can find the starting block of slice 1 as follows:&lt;br /&gt;
 &lt;br /&gt;
   # echo 888*640 | bc&lt;br /&gt;
   568320&lt;br /&gt;
 &lt;br /&gt;
 So now you know s1 starts at block 568320 and is 546560 blocks long.&lt;br /&gt;
&lt;br /&gt;
 3. Copy slice one into a separate file:&lt;br /&gt;
 &lt;br /&gt;
   # dd if=sol-9-u1-sparc-v1.iso of=sol-9-u1-sparc-v1-s1.iso bs=512 skip=568320 count=546560&lt;br /&gt;
   546560+0 records in&lt;br /&gt;
   546560+0 records out&lt;br /&gt;
 &lt;br /&gt;
 4. Mount both slice 0 and slice 1 as follows:&lt;br /&gt;
 &lt;br /&gt;
   # mkdir /cd&lt;br /&gt;
   # mkdir /cd/s0&lt;br /&gt;
   # mkdir /cd/s1&lt;br /&gt;
   # lofiadm -a /path_to/sol-9-u1-sparc-v1.iso /dev/lofi/1&lt;br /&gt;
   # lofiadm -a /path_to/sol-9-u1-sparc-v1-s1.iso /dev/lofi/2&lt;br /&gt;
 &lt;br /&gt;
   When you mount slice 1, remember that it is a UFS partition, not HSFS as is usual on a CD-ROM:&lt;br /&gt;
 &lt;br /&gt;
   # mount -F hsfs -o ro /dev/lofi/1 /cd/s0&lt;br /&gt;
   # mount -F ufs -o ro /dev/lofi/2 /cd/s1&lt;br /&gt;
   # cd /cd/s0/Solaris_9/Tools/&lt;br /&gt;
   # ./setup_install_server /destination_dir&lt;br /&gt;
&lt;br /&gt;
==== How To Upgrade JET ====&lt;br /&gt;
&lt;br /&gt;
Upgrading JET is normally as easy as&lt;br /&gt;
&lt;br /&gt;
    * pkgrm SUNWjet&lt;br /&gt;
    * pkgadd -d . SUNWjet&lt;br /&gt;
&lt;br /&gt;
The JET packages were designed so that they don't remove your configs, templates or other 'configuration' settings when removed. However, if you hack the JET scripts etc, then this will remove your customisations - hence the reason hacking JET is frowned upon and you are recommended to look at writing your own modules instead.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
However, if you are upgrading from JET 3.x to 4.x, then you need to do some additional work. The following was taken from Mike's Sun blog&lt;br /&gt;
&lt;br /&gt;
 Things might be a little trickier if you've already got JET 3.7.3 installed, and you want to keep you existing templates etc. The easiest way to accomplish this is to pkgrm all your existing JET packages. (SUNWjet, and all the packages that start with JET), and then&lt;br /&gt;
 &lt;br /&gt;
 mv /opt/jet /opt/SUNWjet&lt;br /&gt;
 &lt;br /&gt;
 Finally install the new JET packages.If you've created you own custom modules or scripts, you may need to check them to ensure you haven't hard-coded any /opt/jet paths in them.&lt;br /&gt;
&lt;br /&gt;
The extra bits are&lt;br /&gt;
* remember to update your .profile with the new path (/opt/SUNWjet/bin)&lt;br /&gt;
* if you have any existing clients, you will need to re-run 'make_client' on them, as /etc/bootparams and/or dhcp macro table will have the directory /opt/jet mentioned as the config directory, rather than the new /opt/SUNWjet&lt;br /&gt;
&lt;br /&gt;
==== How to set up JET as a PXE (DHCP) Server ====&lt;br /&gt;
&lt;br /&gt;
The easiest way of setting up JET to serve up PXE boot clients (or other DHCP clients) is to copy, edit and then run the &amp;quot;helper script&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
cp /opt/SUNWjet/Products/base_config/solaris/make_dhcp /var/tmp&lt;br /&gt;
&lt;br /&gt;
edit it to suit your network&lt;br /&gt;
ie&lt;br /&gt;
&lt;br /&gt;
    NETWORK=10.1.1.0&lt;br /&gt;
 &lt;br /&gt;
    NETMASK=255.255.255.0&lt;br /&gt;
 &lt;br /&gt;
    ROUTER=10.1.1.1&lt;br /&gt;
 &lt;br /&gt;
    dhcpconfig -D -r SUNWfiles -p /var/tmp&lt;br /&gt;
    dhcpconfig -N ${NETWORK} -m ${NETMASK} -t ${ROUTER}&lt;br /&gt;
&lt;br /&gt;
Then run it, /var/tmp/make_dhcp&lt;br /&gt;
&lt;br /&gt;
JET will now &amp;quot;do the right thing&amp;quot; based on the allocation method in your template.&lt;br /&gt;
&lt;br /&gt;
==== Documents reference Solaris 8 and 9, not 10. Does this work with Solaris 10 ? ====&lt;br /&gt;
&lt;br /&gt;
JET was originally developed in the era of Solaris 7, 8 and 9. As such whatever documentation there is, normally uses one of those in examples.&lt;br /&gt;
&lt;br /&gt;
JET works fine with Solaris 10, and unless anything specific is said, it works in the same fashion with 10 (and indeed 11 if that is what it gets called) in the same fashion as previous versions of Solaris.&lt;br /&gt;
&lt;br /&gt;
JET doesn't deal with upgrades at all; if you want to upgrade using JumpStart, then you need to hand-craft something - there are too many risks for JET to be able to claim to work properly in every situation, so it doesn't claim to do upgrades at all.&lt;br /&gt;
&lt;br /&gt;
=== Configuration ===&lt;br /&gt;
&lt;br /&gt;
==== JET and Boot Servers ====&lt;br /&gt;
&lt;br /&gt;
Initially, JET was not designed to use the JumpStart Boot Server concepts. There are some internal to Sun modules that are known to extend JET to include Boot Server support and also do so much more for distributed JET environments.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If this is a requirement for you, contact Sun (jet@sun.com) and try to get them involved. If what they have already doesn't fit, it's probably easy for them to adjust it!&lt;br /&gt;
&lt;br /&gt;
==== Disksuite Soft Partitions ====&lt;br /&gt;
&lt;br /&gt;
The easiest way is to create an md.tab file&lt;br /&gt;
and put it under /opt/jet/Clients/clientname&lt;br /&gt;
&lt;br /&gt;
The format of the md.tab should be something like:&lt;br /&gt;
&lt;br /&gt;
    d50 -p d40 100m&lt;br /&gt;
    d40 -m d41&lt;br /&gt;
    d41 1 1 /dev/rdsk/c1t0d0s0&lt;br /&gt;
    d42 1 1 /dev/rdsk/c2t0d0s0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
or for creating a mirrored stripe with softpartitions:&lt;br /&gt;
&lt;br /&gt;
    d70 -p d60 1g&lt;br /&gt;
    d60 -m d61&lt;br /&gt;
    d61 1 2 /dev/rdsk/c1t1d0s0 /dev/rdsk/c1t2d0s0&lt;br /&gt;
    d62 1 2 /dev/rdsk/c2t1d0s0 /dev/rdsk/c2t2d0s0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In addition, the disks used above should all have their vtocs created.&lt;br /&gt;
This is achieved with the following lines from JET base_config:&lt;br /&gt;
&lt;br /&gt;
    base_config_profile_disk_c0t1d0s0_size=&amp;quot;free&amp;quot;&lt;br /&gt;
    base_config_profile_disk_c0t1d0s7_size=&amp;quot;32&amp;quot; (repeat for above disks)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Don't associate any mount points with these partitions.&lt;br /&gt;
&lt;br /&gt;
Finally, to initialise and attach, put in the correct order:&lt;br /&gt;
&lt;br /&gt;
    sds_metadevices_to_init=&amp;quot;d41 d42 d40 d50 d61 d62 d60 d70&amp;quot;&lt;br /&gt;
    sds_metadevices_to_attach=&amp;quot;d40:d42 d60:d62&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
and then add the entries for /etc/vfstab:&lt;br /&gt;
&lt;br /&gt;
    sds_newfs_devices=&amp;quot;/dev/md/rdsk/d50&amp;quot;&lt;br /&gt;
    sds_mount_devices=&amp;quot;/dev/md/dsk/d50:/d50:2:logging&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== Upgrade vs Install ====&lt;br /&gt;
&lt;br /&gt;
JET doesn't do upgrades; you could in theory do it, since JumpStart does support upgrades, but would you really want to ?&lt;br /&gt;
&lt;br /&gt;
Pretty much every system is unique, so just running an 'automated' upgrade on a bunch of systems will produce a mixture of results; in fact, many people, say that you have two real options...&lt;br /&gt;
&lt;br /&gt;
   1. make sure your 'data' is saved, and then do a burn and build. Safest option, as you know exactly what you are going to get; bad side is that you need to know where your data is.&lt;br /&gt;
 &lt;br /&gt;
   2. do a manual upgrade; you can still use the network Solaris images, just omit the '- install'; 'boot net' that way, you are in control and don't invoke any errant finish scripts that you may not be expecting.&lt;br /&gt;
&lt;br /&gt;
Hence the reason we don't promote upgrades; there are too many variables; JET is designed for burn and build, since it's origin is from field installations. Not saying it isn't possible, but by the time you get it working, you may have taken less time to do the upgrades by hand!&lt;br /&gt;
&lt;br /&gt;
==== Using SVM to mirror root disks ====&lt;br /&gt;
&lt;br /&gt;
&amp;quot;I have configured a jumpstart server using Sun JET 4.1. I am trying to build a client with ODS (disksuite) to mirror rootdisk. I installed the sds package and did all the configuration bit.  I  have managed to build the client system successfully with all the mirrors and can see the mirror using “metastat –p” command. The only issue is, the system is not showing the metadevices entries in “/etc/vfstab” file and therefore has booted from the normal devices.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
When configuring SVM/SDS for root disks, use the sds_root_mirror setting in the template. It was desgined to 'encapsulate' existing filesystems with SVM metadevices - even if you don't actually have the other device to mirror the root disk to yet.&lt;br /&gt;
&lt;br /&gt;
The sds_metadevices_to_* variables are used to create new metadevices and filesystems - setting things here won't affect your /etc/vfstab for existing filesystems unless you do it yourself.&lt;br /&gt;
&lt;br /&gt;
==== JET and JASS Integration ====&lt;br /&gt;
&lt;br /&gt;
You need to get hold of the JetJASS module, which as far as I know is not part of&lt;br /&gt;
the standard download available at www.sun.com/downloads&lt;br /&gt;
&lt;br /&gt;
If you have JetJASS, then doing a 'make_template -T &amp;lt;client&amp;gt; &amp;lt;client&amp;gt; jass' will&lt;br /&gt;
add the JASS module details to your template. After that, the options are&lt;br /&gt;
pretty self-explanatory - providing you understand JASS that is.&lt;br /&gt;
&lt;br /&gt;
For those who don't have JetJASS, then you need to engage Sun to get hold of it; you can either do that through your local account manager or through the jet@sun.com alias.&lt;br /&gt;
&lt;br /&gt;
==== How does this JetZONES module work ? ====&lt;br /&gt;
&lt;br /&gt;
The philosophy behind the module was to try to treat zones as a normal JET client. In order to do this, you need to :&lt;br /&gt;
&lt;br /&gt;
* Enable JET server to deploy zones. This is achieved by adding JetZONES to the JET server&lt;br /&gt;
* Add JET support to the 'parent' system. The 'parent' system is the system on which the zones will be created. This is achieved by adding the 'zones' module to the template for the parent.&lt;br /&gt;
* Create a 'zone' definition by using the 'make_zone_template' which gives you a cut down standard Solaris template.&lt;br /&gt;
** zone definitions are not tied to the parent unless specifically referenced in the parent template. By default a zone could be instantiated on any of the possible parents (usual network and resource restrictions obviously apply).&lt;br /&gt;
&lt;br /&gt;
You can manually 'JumpStart' a zone on a parent by running the 'jetzone' command, which will then contact the JET server and hopefully do the right thing.&lt;br /&gt;
&lt;br /&gt;
The obvious caveats, are that very few of the usual modules are zone aware, so you have to be careful with additional jet modules in zone templates.&lt;br /&gt;
&lt;br /&gt;
In summary, the steps are&lt;br /&gt;
&lt;br /&gt;
 1. make_template myclient zones&lt;br /&gt;
 2. (optional) edit the zones section to add the zone names to be used&lt;br /&gt;
 3. make_zone_template &amp;lt;zone&amp;gt;&lt;br /&gt;
 4. make_client &amp;lt;zone&amp;gt;&lt;br /&gt;
 5. make_client &amp;lt;client&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Further comments are within the the zone template&lt;br /&gt;
&lt;br /&gt;
==== How does flash work with JET ? ====&lt;br /&gt;
&lt;br /&gt;
The JetFLASH module can be added in like any other&lt;br /&gt;
&lt;br /&gt;
make_template -f -T &amp;lt;template&amp;gt; &amp;lt;template&amp;gt; flash&lt;br /&gt;
&lt;br /&gt;
Simply edit the template, get to the new flash section and edit the flash_archive=&lt;br /&gt;
with the path to your NFS shared flar file&lt;br /&gt;
&lt;br /&gt;
line, taking note of the example higher up&lt;br /&gt;
&lt;br /&gt;
ie&lt;br /&gt;
flash_archive_locations=&amp;quot;nfs://10.1.1.11/archives/sample&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Rerun make_client and JumpStart&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== What is the recommended flash creation line =====&lt;br /&gt;
A recommended line to produce a flash archive&lt;br /&gt;
&lt;br /&gt;
flarcreate -n &amp;quot;&amp;lt;Something meaningfull&amp;gt;&amp;quot; -R / -S -c file&lt;br /&gt;
&lt;br /&gt;
ie:&lt;br /&gt;
&lt;br /&gt;
flarcreate -n &amp;quot;Sol10 U2+Rec Patches&amp;quot; -R / -S -c /var/tmp/s10.flar&lt;br /&gt;
&lt;br /&gt;
==== Using Jet-4.1, how do I get 'sds' and 'flash' to work together - ie, after applying a flash image, I then want to mirror with the 'sds' module. ====&lt;br /&gt;
&lt;br /&gt;
You use JET exactly as you would do for a normal build; it just&lt;br /&gt;
means that the usual profile information (cluster etc) gets&lt;br /&gt;
ignored and the initial install is done from a flash archive.&lt;br /&gt;
&lt;br /&gt;
make_template -f client1 base_config flash sds&lt;br /&gt;
&lt;br /&gt;
edit as usual, build as usual and the sds stuff will get applied&lt;br /&gt;
after the first reboot, exactly as a normal JET build.&lt;br /&gt;
&lt;br /&gt;
==== Is it possible to include the DB and application into the install? ====&lt;br /&gt;
&lt;br /&gt;
Absolutely; if you can script the installation and configuration of the DB and application, then JumpStart and/or JET can happily set things up during the install of Solaris.&lt;br /&gt;
&lt;br /&gt;
Use the resources at http://jet.maui.co.uk/wiki/index.php/Resources for pointers to documentation and email aliases to help if required.&lt;br /&gt;
&lt;br /&gt;
==== How can I add packages after the initial installation and patching? ====&lt;br /&gt;
&lt;br /&gt;
Solaris packages (i.e. the ones that come on the main Solaris CD's) are added using the base_config_add_package / base_config_add_cluster options in the template; these then instruct the Solaris installer to deal with them.&lt;br /&gt;
&lt;br /&gt;
To install other arbitrary packages, patches, files or scripts, look at the 'custom' module that is included in the main SUNWjet package. It has options for custom_packages and custom_patches, along with similar constructs for files and scripts.&lt;br /&gt;
&lt;br /&gt;
Be sure to read the http://jet.maui.co.uk/wiki/index.php/JETPrimer page, as it has an example of using the 'custom' module.&lt;br /&gt;
&lt;br /&gt;
==== Adding Mount Options ====&lt;br /&gt;
&lt;br /&gt;
The base_config_profile_s?_mtpt variables are used to populate the&lt;br /&gt;
client profile. The client profile allows commands such as&lt;br /&gt;
&lt;br /&gt;
filesys c1t4d0s0 1024 /var nosuid&lt;br /&gt;
&lt;br /&gt;
so you should be able to do something like&lt;br /&gt;
&lt;br /&gt;
base_config_profile_s5_mtpt=&amp;quot;/var nosuid&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Just remember the quotes!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== How do I create additional disk/mirrors ====&lt;br /&gt;
&lt;br /&gt;
JET can be used to create additional mirrors by creating the slices in the base_config section&lt;br /&gt;
&lt;br /&gt;
 ############&lt;br /&gt;
 #&lt;br /&gt;
 # You can specify additional disks to use/configure here&lt;br /&gt;
 #&lt;br /&gt;
 # additional_disks is a space separated list of c?t?d? type disk names&lt;br /&gt;
 #&lt;br /&gt;
 # For each disk listed in additional_disks, a pair of variables of the form&lt;br /&gt;
 #&lt;br /&gt;
 # base_config_profile_disk_c?t?d?s?_mtpt=&amp;quot;....&amp;quot;&lt;br /&gt;
 # base_config_profile_disk_c?t?d?s?_size=&amp;quot;....&amp;quot;&lt;br /&gt;
 #&lt;br /&gt;
 # should be defined for each slice required on the disk.&lt;br /&gt;
 #&lt;br /&gt;
 # N.B. DO NOT SET THE BOOT DISK UP HERE !&lt;br /&gt;
 #&lt;br /&gt;
 base_config_profile_additional_disks=&amp;quot;&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
ie:- If you have disks on c3 and c4 you want to mirror to c5 and c6, 1st lay out the partitions&lt;br /&gt;
&lt;br /&gt;
 base_config_profile_addtional_disks=&amp;quot;c3t0d0 c4t0d0&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 base_config_profile_disk_c3t0d0s0_mtpt=&amp;quot;/export/extra&amp;quot;&lt;br /&gt;
 base_config_profile_disk_c3t0d0s0_size=&amp;quot;10240&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 base_config_profile_disk_c4t0d0s3_mtpt=&amp;quot;/export/extra2&amp;quot;&lt;br /&gt;
 base_config_profile_disk_c4t0d0s3_size=&amp;quot;10240&amp;quot;&lt;br /&gt;
&lt;br /&gt;
etc etc&lt;br /&gt;
&lt;br /&gt;
And then use the &amp;quot;simple mirrors&amp;quot; bit of the sds template&lt;br /&gt;
&lt;br /&gt;
 ############&lt;br /&gt;
 #&lt;br /&gt;
 # You can also describe other simple mirrors - these only work if you define&lt;br /&gt;
 # the partitions in the base_config_profile_disk_ variables&lt;br /&gt;
 #&lt;br /&gt;
 # The format of this variable is a space separated list of source=target,&lt;br /&gt;
 # i.e. c0t1d0=c1t1d0 where the source is the primary&lt;br /&gt;
 #&lt;br /&gt;
 sds_simple_mirrors=&amp;quot;c3t0d0=c5t0d0 c4t0d0=c6t0d0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Anything more complicated can be achived by creating a md.tab and supplying it to the build (via the SDS module), as there was/is no point in re-inventing the wheel.&lt;br /&gt;
&lt;br /&gt;
==== JetZONES and other modules - an anomoly ====&lt;br /&gt;
&lt;br /&gt;
JetZONES will work with other modules as normal, except you will see error messages about being unable to locate packages (see below)&lt;br /&gt;
&lt;br /&gt;
This is because the zones module is intended to be architecture neutral and you will see the base_config_ClientArch= is set to &amp;quot;zone&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
After a heavy dig around the code, the only work around would be to change JET core, and that is just not going to happen.&lt;br /&gt;
&lt;br /&gt;
So, it is a case of &amp;quot;BE AWARE&amp;quot; that errors similar to below will appear when you run make_client against the zone template.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Although it says &amp;quot;FAILED&amp;quot; it will still have made the /opt/SUNWjet/Clients/&amp;lt;client&amp;gt; dir&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
An example below shows the build still worked&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
make_client output&lt;br /&gt;
&lt;br /&gt;
 checking product base_config/solariszone&lt;br /&gt;
 Checking product custom&lt;br /&gt;
 WARNING: CUSTOM: Unable to locate custom package SFWmozilla&lt;br /&gt;
 --------------------------------------------------------------&lt;br /&gt;
 Check of client b1-zone1 &lt;br /&gt;
  &lt;br /&gt;
 #######                                                   ###&lt;br /&gt;
 #          ##       #    #       ######  #####            ###&lt;br /&gt;
 #         #  #      #    #       #       #    #           ###&lt;br /&gt;
 #####    #    #     #    #       #####   #    #            #&lt;br /&gt;
 #        ######     #    #       #       #    #&lt;br /&gt;
 #        #    #     #    #       #       #    #           ###&lt;br /&gt;
 #        #    #     #    ######  ######  #####            ###&lt;br /&gt;
&lt;br /&gt;
jumpstart.log output&lt;br /&gt;
&lt;br /&gt;
 CUSTOM: Installing custom....&lt;br /&gt;
 CUSTOM: Installing SFWmozilla from: //var/opt/sun/jet/js_media/pkg/custom/i386&lt;br /&gt;
 &lt;br /&gt;
 Installation of SFWmozilla was successful.&lt;br /&gt;
 CUSTOM: SFWmozilla installation complete&lt;br /&gt;
 CUSTOM: Register postinstall script 'postinstall' for boot n&lt;br /&gt;
 ----------------------------------------------------------&lt;br /&gt;
 Product modules processed, finish up installation tasks&lt;br /&gt;
 Creating directory: /var/opt/sun/jet/system.add/updated&lt;br /&gt;
 Copying file etc/jumpstart.conf to //var/opt/sun/jet/config/jumpstart.conf&lt;br /&gt;
 Copying file Utils/smf/jetjump.xml to //var/svc/manifest/site/jetjump.xml&lt;br /&gt;
 Copying file Utils/S99jumpstart to //var/opt/sun/jet/post_install/S99jumpstart&lt;br /&gt;
 NFS Unmounting Media Directories&lt;br /&gt;
 Unmounting /var/opt/sun/jet/js_media/pkg&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting ===&lt;br /&gt;
&lt;br /&gt;
==== Solaris x86 Media on Sparc (and vice-versa) ====&lt;br /&gt;
&lt;br /&gt;
Jumpstarting with x86 Laptops and SPARC systems&lt;br /&gt;
&lt;br /&gt;
Typically a nice use for laptops is to automate the install or to allow&lt;br /&gt;
the install of systems lacking a CD-ROM drive.&lt;br /&gt;
&lt;br /&gt;
Running setup-install-server&lt;br /&gt;
&lt;br /&gt;
Prior to Solaris 9, you could use the SPARC Solaris CD and run&lt;br /&gt;
setup-install-server on your laptop as well as using an x86 Solaris CD&lt;br /&gt;
on a SPARC based system.&lt;br /&gt;
&lt;br /&gt;
This is no longer the case.&lt;br /&gt;
&lt;br /&gt;
The layout of the CD's for Solaris 8 an prior would contain a copy of&lt;br /&gt;
the miniroot under &amp;quot;Boot&amp;quot; in the Tools directory of the CD-ROM. The&lt;br /&gt;
whole filesystem would be of the &amp;quot;hsfs&amp;quot; type and thus readable across&lt;br /&gt;
architectures.&lt;br /&gt;
&lt;br /&gt;
 user:/cdrom/sol_8_202_ia/Solaris_8/Tools% ls -l&lt;br /&gt;
 total 187&lt;br /&gt;
 drwxr-xr-x  18 root     other       4096 Dec 18  2001 Boot/&lt;br /&gt;
 -rwxr-xr-x   1 root     bin        59058 Nov 27  2001 add_install_client&lt;br /&gt;
 -rwxr-xr-x   1 root     sys         1325 Nov 27  2001 dial&lt;br /&gt;
 -rwxr-xr-x   1 root     bin        18599 Nov 27  2001 rm_install_client&lt;br /&gt;
 -rwxr-xr-x   1 root     bin        11689 Nov 27  2001 setup_install_server&lt;br /&gt;
 &lt;br /&gt;
 user@machine:/cdrom/sol_8_202_sparc/s0/Solaris_8/Tools% ls -l&lt;br /&gt;
 total 187&lt;br /&gt;
 drwxr-xr-x  17 root     other       4096 Dec 18  2001 Boot/&lt;br /&gt;
 -rwxr-xr-x   1 root     bin        59058 Nov 27  2001 add_install_client&lt;br /&gt;
 -rwxr-xr-x   1 root     sys         1325 Nov 27  2001 dial&lt;br /&gt;
 -rwxr-xr-x   1 root     bin        18599 Nov 27  2001 rm_install_client&lt;br /&gt;
 -rwxr-xr-x   1 root     bin        11689 Nov 27  2001 setup_install_server&lt;br /&gt;
 &lt;br /&gt;
 user@machine:/% fstyp /vol/dev/dsk/c7t1d0/sol_8_202_ia&lt;br /&gt;
 hsfs&lt;br /&gt;
 user@machine:/% fstyp /vol/dev/dsk/c1t6d0/sol_8_202_sparc/s0&lt;br /&gt;
 hsfs&lt;br /&gt;
 user@machine:/% fstyp /vol/dev/dsk/c7t1d0/sol_8_202_ia&lt;br /&gt;
 hsfs&lt;br /&gt;
&lt;br /&gt;
s1 contains a ufs copy of the miniroot as well. This is what you're&lt;br /&gt;
actually running from when you boot off of the CD. However, as ufs is&lt;br /&gt;
architecture specific, you can't mount a SPARC ufs partition on an x86&lt;br /&gt;
box and vice versa.&lt;br /&gt;
&lt;br /&gt;
 user@machine:/% fstyp /vol/dev/dsk/c1t6d0/sol_8_202_sparc/s1&lt;br /&gt;
 ufs&lt;br /&gt;
&lt;br /&gt;
Starting with Solaris 9, there isn't enough space on CD 1 of 2. CD 1 of&lt;br /&gt;
2 should be all that is needed to do an &amp;quot;End User&amp;quot; install. Certain&lt;br /&gt;
packages therefore need to be included there.&lt;br /&gt;
&lt;br /&gt;
The hsfs copy of the miniroot takes up over 200M in the Solaris 8 2/02.&lt;br /&gt;
Freeing up this space was necessary.&lt;br /&gt;
&lt;br /&gt;
With Solaris 9, the &amp;quot;Boot&amp;quot; directory looks like this:&lt;br /&gt;
&lt;br /&gt;
 user@machine:/cdrom/sol_9_sparc/s0/Solaris_9/Tools% ls -l&lt;br /&gt;
 total 184&lt;br /&gt;
 lrwxrwxrwx   1 root     other         11 Apr 15  2002 Boot -&amp;gt; ../../../s1&lt;br /&gt;
 -rwxr-xr-x   2 root     bin        59586 Apr 15  2002 add_install_client&lt;br /&gt;
 -rwxr-xr-x   2 root     sys         1325 Apr 15  2002 dial&lt;br /&gt;
 -rwxr-xr-x   2 root     bin        18599 Apr 15  2002 rm_install_client&lt;br /&gt;
 -rwxr-xr-x   2 root     bin        13045 Apr 15  2002 setup_install_server&lt;br /&gt;
&lt;br /&gt;
s1 however is ufs, which is architecture specific.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 user@machine:/% fstyp /vol/dev/dsk/c1t0d0/sol_9_sparc/s1&lt;br /&gt;
 ufs&lt;br /&gt;
&lt;br /&gt;
If I attempt to run &amp;quot;setup_install_server&amp;quot; on my x86 laptop from a SPARC&lt;br /&gt;
Solaris 9 CD, you get the following:&lt;br /&gt;
&lt;br /&gt;
 # pwd&lt;br /&gt;
 /cdrom/sol_9_sparc/Solaris_9/Tools&lt;br /&gt;
 # ./setup_install_server /export/install/Solaris_9&lt;br /&gt;
 ERROR: Install boot image /cdrom/sol_9_sparc/Solaris_9/Tools/Boot does &lt;br /&gt;
 not exist&lt;br /&gt;
        Check that boot image exists, or use [-t] to&lt;br /&gt;
        specify a valid boot image elsewhere&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Getting it to work&lt;br /&gt;
These instructions are architecture neutral. They will work if you are&lt;br /&gt;
trying to configure jumpstart from an x86 server to a SPARC client or&lt;br /&gt;
setting up a SPARC server to jumpstart x86 clients.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Option 1: Use the DVD&lt;br /&gt;
 &lt;br /&gt;
 The Solaris OE on DVD has enough space to continue to include the&lt;br /&gt;
 miniroot in the architecture neutral portion of itself. The format is&lt;br /&gt;
 udfs, which is used for DVD's instead of hsfs for CD's.&lt;br /&gt;
 &lt;br /&gt;
 This assumes that you, of course, HAVE a DVD drive.&lt;br /&gt;
 &lt;br /&gt;
 The downside of this is that you get a bunch of stuff that might not&lt;br /&gt;
 want to include on your install image. Things such as all of&lt;br /&gt;
 localizations and languages take up space on your server's harddrive.&lt;br /&gt;
&lt;br /&gt;
Option 2: Create 2 JumpStart servers&lt;br /&gt;
&lt;br /&gt;
 You can run the setup_install_server script on the system of the same&lt;br /&gt;
 architecture and then share it out via NFS to the other system. This of&lt;br /&gt;
 course assumes that you have enough temporary space on the system.&lt;br /&gt;
 &lt;br /&gt;
 Mount up the CD-ROM locally and run &amp;quot;setup_install_server&amp;quot; as if you&lt;br /&gt;
 were going to make the system you're on a jumpstart server. I recommend&lt;br /&gt;
 installing to /export/install, but you may have another preference.&lt;br /&gt;
 After the 1st CD completes, you can add in the second one to the install&lt;br /&gt;
 image if you like or add it after you've transferred the image over.&lt;br /&gt;
 &lt;br /&gt;
 Share out the image via NFS my manually sharing it out using the share&lt;br /&gt;
 command or through /etc/dfs/dfstab with a line similar to this:&lt;br /&gt;
&lt;br /&gt;
 #Share out the jumpstart directory for installs&lt;br /&gt;
 share -F nfs -o ro,anon=0 /export/install&lt;br /&gt;
 &lt;br /&gt;
 Start the NFS server if necessary.&lt;br /&gt;
 &lt;br /&gt;
 Mount up the shared directory to your desired server.&lt;br /&gt;
 &lt;br /&gt;
 Run &amp;quot;setup_install_server&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Option 3: Use NFS&lt;br /&gt;
&lt;br /&gt;
 Using NFS, gets around the architecture issue with ufs. You can mount a&lt;br /&gt;
 NFS share on a client and the client doesn't care what the underlying&lt;br /&gt;
 filesystem is on the server.&lt;br /&gt;
 &lt;br /&gt;
 The downside here is that its a bit more complex and that it may take a&lt;br /&gt;
 bit longer to setup because you have to install the image over the&lt;br /&gt;
 network. Also, you'll need 2 systems, a SPARC based one and a x86 one.&lt;br /&gt;
 &lt;br /&gt;
 Add the following line to your /etc/rmmount.conf on the system of the&lt;br /&gt;
 same architecture that you want to create a jumpstart image of. (If you&lt;br /&gt;
 want to put a copy of Solaris 9 SPARC on your x86 laptop, add this line&lt;br /&gt;
 to the SPARC system. If you want to do put a Solaris 9 x86 image on your&lt;br /&gt;
 SPARC system, the line goes in your x86 system's rmmount.conf)&lt;br /&gt;
 &lt;br /&gt;
 # share out the CD-ROM&lt;br /&gt;
 share cdrom* -o ro,anon=0&lt;br /&gt;
 &lt;br /&gt;
 This line causes vold automatically share out the CD-ROM and all&lt;br /&gt;
 partitions on that CD. This is needed because NFS sharing doesn't span&lt;br /&gt;
 filesystems automatically. &amp;quot;anon=0&amp;quot; causes reads by UID=0, which is&lt;br /&gt;
 normally mapped to user &amp;quot;nobody&amp;quot; by NFS for security reasons to remain&lt;br /&gt;
 mapped to UID=0. This isn't a security issue here because the CD is a&lt;br /&gt;
 Read-Only medium anyways.&lt;br /&gt;
 &lt;br /&gt;
 You will need to re-start vold. Runnning &amp;quot;/etc/init.d/volmgt stop&amp;quot; and&lt;br /&gt;
 &amp;quot;/etc/init.d/volmgt start&amp;quot; will do this.&lt;br /&gt;
 &lt;br /&gt;
 You'll likely need to start up the NFS server processes as well. You can&lt;br /&gt;
 either manually start them each time you boot your system or put the&lt;br /&gt;
 following into /etc/dfs/dfstab&lt;br /&gt;
 &lt;br /&gt;
 share -F nfs -o ro,anon=0 /cdrom&lt;br /&gt;
 &lt;br /&gt;
 If you don't have NFS already sharing out filesystems, you'll need to&lt;br /&gt;
 start it by running &amp;quot;/etc/init.d/nfs.server start&amp;quot; as root.&lt;br /&gt;
 &lt;br /&gt;
 At this point, drop in your CD into the appropriate system. It should&lt;br /&gt;
 mount and share things automatically.&lt;br /&gt;
 &lt;br /&gt;
 # mount&lt;br /&gt;
 /cdrom/sol_9_x86/s2 on /vol/dev/dsk/c1t0d0/sol_9_x86/s2 read &lt;br /&gt;
only/nosuid/maplcase/noglobal/rr/traildot/dev=1740003 on Tue Dec  3 &lt;br /&gt;
15:09:39 2002&lt;br /&gt;
 /cdrom/sol_9_x86/s0 on /vol/dev/dsk/c1t0d0/sol_9_x86/s0 read &lt;br /&gt;
only/nosuid/intr/largefiles/onerror=panic/dev=1740001 on Tue Dec  3 &lt;br /&gt;
15:09:39 2002&lt;br /&gt;
 &lt;br /&gt;
 # share&lt;br /&gt;
 -               /cdrom   ro,anon=0   &amp;quot;&amp;quot;&lt;br /&gt;
 -               /cdrom/sol_9_x86/s2   ro,anon=0   &amp;quot;&amp;quot;&lt;br /&gt;
 -               /cdrom/sol_9_x86/s0   ro,anon=0   &amp;quot;&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 At this point you should be able to CD down&lt;br /&gt;
 to the appropriate location to run your setup_install_server.&lt;br /&gt;
 &lt;br /&gt;
 # pwd&lt;br /&gt;
 /&lt;br /&gt;
 # cd /cdrom/sol_9_x86/s2/Solaris_9/Tools&lt;br /&gt;
 # pwd&lt;br /&gt;
 /cdrom/sol_9_x86/s2/Solaris_9/Tools&lt;br /&gt;
 # ls&lt;br /&gt;
 Boot                  dial                  setup_install_server&lt;br /&gt;
 add_install_client    rm_install_client&lt;br /&gt;
 &lt;br /&gt;
 Alternately, you can mount up the directories manually. For example: &lt;br /&gt;
 &lt;br /&gt;
 # mount -F nfs -o ro dhcp-ublm02-228-227:/cdrom /mnt&lt;br /&gt;
 # mount -F nfs -o ro dhcp-ublm02-228-227:/cdrom/sol_9_x86/s0 /mnt/sol_9_x86/s0&lt;br /&gt;
 # mount -F nfs -o ro dhcp-ublm02-228-227:/cdrom/sol_9_x86/s2 /mnt/sol_9_x86/s2&lt;br /&gt;
 &lt;br /&gt;
 All 3 mounts are needed as we have 3 separate filesystems and NFS&lt;br /&gt;
 doesn't span filesystems.&lt;br /&gt;
 &lt;br /&gt;
 Now run your &amp;quot;setup_install_server&amp;quot; script. &lt;br /&gt;
 &lt;br /&gt;
 # ./setup_install_server /export/install/sol_9_x86&lt;br /&gt;
 Verifying target directory...&lt;br /&gt;
 Calculating the required disk space for the Solaris_9 product&lt;br /&gt;
 Calculating space required for the installation boot image&lt;br /&gt;
 Copying the CD image to disk...&lt;br /&gt;
 Copying Install Boot Image hierarchy...&lt;br /&gt;
 Install Server setup complete&lt;br /&gt;
&lt;br /&gt;
 You can either install the CDROM 2 of 2 through this method or drop it&lt;br /&gt;
 in locally as it is in the hsfs format.&lt;br /&gt;
&lt;br /&gt;
There are lots of ways that this can be done outside of this particular&lt;br /&gt;
method. Your mileage may vary.&lt;br /&gt;
&lt;br /&gt;
==== ARP/RARP Timeouts ====&lt;br /&gt;
&lt;br /&gt;
When building a server, you can get the ethernet address from the Open Boot Prom 'banner' command at the 'ok' prompt. By default, this ethernet address is shared between all the ethernet interfaces of the host, so performing a JumpStart off an ethernet interface other than the default alias 'net' proceeds as normal.&lt;br /&gt;
&lt;br /&gt;
When using IPMP or Sun Cluster 3, the value of the Open Boot Prom 'local-mac-address' option is set to true which in turn means that every ethernet interface uses it's own ethernet address, and not the hardcoded one in the Open Boot Prom.&lt;br /&gt;
&lt;br /&gt;
On subsequent re-build attempts over the onboard default 'net' interface, everything is ok; however, if you are building over a different device to 'net' the ethernet address may not match the one you originally used in your template.&lt;br /&gt;
&lt;br /&gt;
As the JumpStart server /etc/ethers files does not match this new ethernet address, it is unable to reply to the booting machine, hence the extended period of ARP/RARP timeouts.&lt;br /&gt;
&lt;br /&gt;
To locate mac addresses for different adapters when local-mac-address? is set to true, you can do the following:&lt;br /&gt;
&lt;br /&gt;
    * At the OBP prompt, do a 'show-nets' to list the network adapters available&lt;br /&gt;
    * Select the adapter&lt;br /&gt;
    * cd &amp;lt;ctrl+y&amp;gt;&lt;br /&gt;
    * .properties&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== System hangs at a # prompt ====&lt;br /&gt;
&lt;br /&gt;
If 'diag-switch?' is set to true in OBP, the system will hang at the '#' prompt prior to rebooting, just after Solaris has installed.&lt;br /&gt;
&lt;br /&gt;
This seems to happen on all types of hosts from V100's through to F15Ks. You need to use the appropriate commands to change the obp setting depending on your platform.&lt;br /&gt;
&lt;br /&gt;
==== Forcing Speed/Duplex during JumpStart ====&lt;br /&gt;
&lt;br /&gt;
You really should just use Auto-negotiation on switches; it works these days and is reliable.&lt;br /&gt;
&lt;br /&gt;
Turning autonegotiation off and setting speed/mode manually is called&lt;br /&gt;
&amp;quot;forced mode&amp;quot;.&lt;br /&gt;
For the Sun[TM] GigaSwift on-board interfaces and Network Interface Cards&lt;br /&gt;
(ce), and for bge on-board interfaces, boot in &amp;quot;forced mode&amp;quot; is possible.&lt;br /&gt;
&lt;br /&gt;
In jumpstart &amp;quot;boot net&amp;quot;, 3 steps are involved.&lt;br /&gt;
The driver must be forced in all 3 steps of the jumpstart boot process.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1st Step: force the interface on boot prom for booting&lt;br /&gt;
&lt;br /&gt;
 ok boot /pci@1f,2000/pci@1/network@0:speed=100,duplex=full,&lt;br /&gt;
        or&lt;br /&gt;
 ok devalias net /pci@1f,2000/pci@1/network@0:speed=100,duplex=full,&lt;br /&gt;
 ok boot net&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2nd Step: inetboot is loaded.&lt;br /&gt;
&lt;br /&gt;
 An inetboot file on the boot server which honours the &amp;quot;forced&amp;quot; ce setting is needed. &lt;br /&gt;
 This is included in Solaris 8 Patch-ID# 111306-05 , for Solaris 9, it's&lt;br /&gt;
 Patch-ID# 113578-01 .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3rd Step: client uses the OS from the file system of the boot server&lt;br /&gt;
&lt;br /&gt;
 create a&lt;br /&gt;
 ../Boot/platform/sun4u/kernel/drv/ce.conf  or&lt;br /&gt;
 ../Boot/platform/sun4u/kernel/drv/bge.conf&lt;br /&gt;
 (the same directory, in which the ce 32 bit driver sits, one single line,&lt;br /&gt;
 example for 100 FDX):&lt;br /&gt;
 &lt;br /&gt;
 adv_autoneg_cap=0 adv_1000fdx_cap=0 adv_1000hdx_cap=0 adv_100fdx_cap=1 &lt;br /&gt;
 adv_100hdx_cap=0 adv_10fdx_cap=0 adv_10hdx_cap=0;&lt;br /&gt;
&lt;br /&gt;
==== JumpStart &amp;amp; JET logs ====&lt;br /&gt;
&lt;br /&gt;
JumpStart saves a log of the output from the system install in the file /var/sadm/system/logs/finish.log. The bad news, is that only covers the log output up to the reboot at the end of the initial install.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
JET includes post-reboot processing in most cases, so the complete JET log (a superset of the JumpStart log) can be found at /var/opt/sun/jet/jumpstart_install.log. There is also a link to the system log called finish.log in the same directory.&lt;br /&gt;
&lt;br /&gt;
The JET log will include the system finish log output and also any output from JET processing at subsequent reboots.&lt;br /&gt;
&lt;br /&gt;
==== Solaris 10, SSH doesn't start ====&lt;br /&gt;
&lt;br /&gt;
When JumpStart'ing Solaris 10 GA (and maybe some of the updates), the ssh software is installed but the daemon doesn't start; 'svcs -a' reporting it in a maintenance state.&lt;br /&gt;
&lt;br /&gt;
The root cause is that the ssh host key is not created for some reason, so you need to execute the following commands:&lt;br /&gt;
&lt;br /&gt;
 /lib/svc/method/sshd -c&lt;br /&gt;
 /usr/sbin/svcadm clear network/ssh&lt;br /&gt;
&lt;br /&gt;
In JET, you could put the commands into a script in /opt/jet/Clients/common.files/fixup-ssh and then use custom_scripts=&amp;quot;fixup-ssh&amp;quot; to get JET to fix the problem for you.&lt;br /&gt;
&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 #&lt;br /&gt;
 # Fix Up SSH on Solaris 10&lt;br /&gt;
 #&lt;br /&gt;
 if [ ! -f /etc/ssh/ssh_host_rsa_key -o ! -f /etc/ssh/ssh_host_dsa_key ]; then&lt;br /&gt;
        /lib/svc/method/sshd -c &lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 /usr/sbin/svcadm clear network/ssh&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== TFTP Problems While Booting ====&lt;br /&gt;
&lt;br /&gt;
A number of people have come across problems with TFTP; specifically TFTP failing during (or sometimes at the start of) a transfer.&lt;br /&gt;
&lt;br /&gt;
TFTP is the 'Trivial File Transfer Protocol' and as such has some simple limitations. One such, is that the original protocol allows up to 65,536 blocks to be transferred; each block defaulting to 512 bytes -&amp;gt; 32Mb limit.&lt;br /&gt;
&lt;br /&gt;
Some implementations allow the block size to be increased, others allow the block counter to roll-over; 65,536 == 0 again.&lt;br /&gt;
&lt;br /&gt;
Sun changed their in.tfptd implementation between Solaris 8 and 9, and from tests, it seems they have added the 'change block size' code. Tests on Solaris 9 and 10 indicate that the Sun in.tftpd server still stops at block 65,536 though.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Solaris 10 Update 1 for x86/64 has a new boot mechanism, and the file to be downloaded via TFTP is 48Mb or so. If you are using a Solaris 8 JumpStart server, then you are going to hit trouble. Either move to Solaris 9 or you could try and take the in.tftpd binary from a Solaris 9 client.If things still don't work, then you could go off and google for a replacement tftpd server; http://www.kernel.org/pub/software/network/tftp/ has done the trick for me in the past, and doesn't need much to convince it to compile under Solaris.&lt;br /&gt;
&lt;br /&gt;
==== Solaris 10 Update 1 and Flash archive problems ====&lt;br /&gt;
&lt;br /&gt;
When deploying a flash archive taken from a Solaris 10 Update 1 install, the initial flash completes, but subsequent JET processing stops after the first reboot.&lt;br /&gt;
&lt;br /&gt;
When you build a system using flash on Solaris 10, the smf(1m) database gets stored as part of the flash archive. Under Solaris 10 GA/FCS, the smf(1m) database entries were keyed using the manifest inode number (amongst other things), so when you redeployed the flash, the inode numbers changed and smf(1m) re-scanned the manifest files.&lt;br /&gt;
&lt;br /&gt;
Under Solaris 10 Update 1, Sun have removed the inode time from the database key, so it doesn't rebuild the database as it used to.&lt;br /&gt;
&lt;br /&gt;
If you built the original system using JET, the jetjump.xml file is still 'known about' by the smf(1m) database, so when you come to deploy the flash archive using JET, smf(1m) happily ignores the newly deposited jetjump.xml file.&lt;br /&gt;
&lt;br /&gt;
Officially, this is a bug/feature introduced in Solaris 10 Update 1 (BugID 6251841). The version of JET about to be released has a work around for this situation, so it will go away.&lt;br /&gt;
&lt;br /&gt;
The work around for now, is to do the following *before* creating the flash archive:&lt;br /&gt;
&lt;br /&gt;
 # svccfg -s smf/manifest delpg var_svc_manifest_site_jetjump_xml&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This 'feature' is also present in Nevada builds (Solaris Express / Solaris 11).&lt;br /&gt;
&lt;br /&gt;
==== Unable to locate suitable disks ====&lt;br /&gt;
&lt;br /&gt;
If you install Solaris onto scrubbed disks which have no Solaris label on them, the install will halt because it can't find disks to install too. This is normally more of an issue with x86 systems that don't have a Solaris partition, but can also be encountered on Sparc boxes too.&lt;br /&gt;
&lt;br /&gt;
On Sparc systems, use the 'format' command to 'label' the disks; on x86, fdisk can be used to create a Solaris partition.&lt;br /&gt;
&lt;br /&gt;
==== I am warned about missing patches, but cannot add ====&lt;br /&gt;
&lt;br /&gt;
If you get the warning&lt;br /&gt;
&lt;br /&gt;
 WARNING: Patch 119375-11 has not been applied to the boot image.&lt;br /&gt;
&lt;br /&gt;
And then run the patchadd -C command as instructed, only to be told the patch is already present,&lt;br /&gt;
&lt;br /&gt;
This may be because patchadd was broken in Solaris 10 (03/05) and failed to check correctly. This has been fixed with later versions/patches.&lt;br /&gt;
&lt;br /&gt;
Alternatively if you are using Solaris 10 01/06 or later there is an issue that patchadd cannot check the mini-root.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As it is only a WARNING, it will not cause make_client to fail. If make_client fails, look back to identify earlier FAIL messages.&lt;br /&gt;
&lt;br /&gt;
A future release of JET may well bypass this error&lt;br /&gt;
&lt;br /&gt;
=== Bug / Problem Reporting ===&lt;br /&gt;
&lt;br /&gt;
==== Having Problems with JET and need help ? ====&lt;br /&gt;
&lt;br /&gt;
If you post a question here that concerns a specific problem you are seeing with JET, then please include the template and the output from /var/opt/sun/jet/jumpstart_install.log - or at the very least, say you have that information and be prepared to send it on to who ever elects to try to help you. &lt;br /&gt;
&lt;br /&gt;
==== Reporting a Bug ====&lt;br /&gt;
&lt;br /&gt;
Think you've found a bug in JET ? If so, first up check it is a bug by asking the appropriate question on this website or send your theory and reasoning to jet@sun.com.&lt;br /&gt;
&lt;br /&gt;
JET 'evolved' over about 5+ years, so the chance of someone making a mistake in the scripting is not beyond possibility! It could however be something JET was not designed for in which case it's an RFE - Request For Enhancement.&lt;br /&gt;
&lt;br /&gt;
==== Request For Enhancements (RFEs) ====&lt;br /&gt;
&lt;br /&gt;
If you discover something you want changed in JET, then it normally falls into two categories:&lt;br /&gt;
&lt;br /&gt;
    Implement it in a module&lt;br /&gt;
&lt;br /&gt;
        Support for non-core features or additional configuration work can be easily delivered through a new JET module. This way, the main code base stays unaffected for the vast majority of people who use it, and the module can evolve as the authors see fit.&lt;br /&gt;
&lt;br /&gt;
    Submit the change as an RFE&lt;br /&gt;
&lt;br /&gt;
        If the feature needs to go into the main JET package or one of the pre-supplied modules and can not be delivered as a module, then you need to discuss the matter with the JET folks at Sun (jet@sun.com) and work on drafting an RFE. Depending on how much they agree with your suggestion and how much time they have, the actual change could be made quickly or could take months - such is the nature of change.&lt;/div&gt;</summary>
		<author><name>Marty</name></author>
	</entry>
	<entry>
		<id>https://jet.maui.co.uk/wiki/index.php?title=Main_Page&amp;diff=1446</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://jet.maui.co.uk/wiki/index.php?title=Main_Page&amp;diff=1446"/>
		<updated>2008-03-19T21:27:06Z</updated>

		<summary type="html">&lt;p&gt;Marty: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOEDITSECTION__ __NOTOC__&lt;br /&gt;
== News ==&lt;br /&gt;
[[Image:Jumpstart_title.gif|Jumpstart_title.gif|frame|]]&lt;br /&gt;
&amp;lt;rss&amp;gt;http://blog.maui.co.uk/index.php/jet/?tempskin=_rss2|title=none|max=5&amp;lt;/rss&amp;gt;&lt;br /&gt;
&lt;br /&gt;
News is also available through an [http://blog.maui.co.uk/index.php/mtb/?tempskin=_rss2 RSS] feed.&lt;br /&gt;
&lt;br /&gt;
== JET Resources ==&lt;br /&gt;
&lt;br /&gt;
* [[Documents|JET Documents]]&lt;br /&gt;
* [[Resources|JET Resources]]&lt;br /&gt;
* [[Faq|JET FAQ]]&lt;br /&gt;
&lt;br /&gt;
If you wish to contribute to the JET Resources community, please contact us and ask for access to the Wiki.&lt;br /&gt;
&lt;br /&gt;
== About JET ==&lt;br /&gt;
&lt;br /&gt;
=== What Is the JumpStart Enterprise Toolkit ? ===&lt;br /&gt;
&lt;br /&gt;
The JumpStart Enterprise Toolkit is the name given to the Sun Microsystems JumpStart Framework, developed by Sun in the UK. The toolkit is part of the N1 SPS suite and is available as a seperate download from [http://onesearch.sun.com/search/onesearch/index.jsp?col=downloads-products&amp;amp;qt=JumpStart+Enterprise+Toolkit Sun Download Centre]&lt;br /&gt;
&lt;br /&gt;
=== JumpStart Information ===&lt;br /&gt;
&lt;br /&gt;
There are many benefits to using a framework to extend the functionality of JumpStart, for example:&lt;br /&gt;
&lt;br /&gt;
* improve the consistency of system installs&lt;br /&gt;
* faster implementation of projects&lt;br /&gt;
* improve build quality of the installations&lt;br /&gt;
* embed company best practices &lt;br /&gt;
&lt;br /&gt;
The toolkit is aimed at providing basic OS installations along with frequently used/requested addtional product installation, and minimal configuration.&lt;/div&gt;</summary>
		<author><name>Marty</name></author>
	</entry>
	<entry>
		<id>https://jet.maui.co.uk/wiki/index.php?title=MediaWiki:Sidebar&amp;diff=1445</id>
		<title>MediaWiki:Sidebar</title>
		<link rel="alternate" type="text/html" href="https://jet.maui.co.uk/wiki/index.php?title=MediaWiki:Sidebar&amp;diff=1445"/>
		<updated>2008-03-19T15:57:04Z</updated>

		<summary type="html">&lt;p&gt;Marty: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* navigation&lt;br /&gt;
** http://jet.maui.co.uk|JET Home &lt;br /&gt;
** http://blog.maui.co.uk/index.php/jet/|News&lt;br /&gt;
** Faq|Faq&lt;br /&gt;
** documents|Documents&lt;br /&gt;
** resources|Resources&lt;br /&gt;
** recentchanges-url|recentchanges&lt;br /&gt;
** randompage-url|randompage&lt;/div&gt;</summary>
		<author><name>Marty</name></author>
	</entry>
	<entry>
		<id>https://jet.maui.co.uk/wiki/index.php?title=MediaWiki:Sidebar&amp;diff=1444</id>
		<title>MediaWiki:Sidebar</title>
		<link rel="alternate" type="text/html" href="https://jet.maui.co.uk/wiki/index.php?title=MediaWiki:Sidebar&amp;diff=1444"/>
		<updated>2008-03-18T14:36:15Z</updated>

		<summary type="html">&lt;p&gt;Marty: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* navigation&lt;br /&gt;
** http://jet.maui.co.uk|JET Home &lt;br /&gt;
** http://blog.maui.co.uk/index.php/jet/?tempskin=_rss2|News&lt;br /&gt;
** Faq|Faq&lt;br /&gt;
** documents|Documents&lt;br /&gt;
** resources|Resources&lt;br /&gt;
** recentchanges-url|recentchanges&lt;br /&gt;
** randompage-url|randompage&lt;/div&gt;</summary>
		<author><name>Marty</name></author>
	</entry>
	<entry>
		<id>https://jet.maui.co.uk/wiki/index.php?title=Main_Page&amp;diff=1443</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://jet.maui.co.uk/wiki/index.php?title=Main_Page&amp;diff=1443"/>
		<updated>2008-03-18T14:35:20Z</updated>

		<summary type="html">&lt;p&gt;Marty: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOEDITSECTION__ __NOTOC__&lt;br /&gt;
== News ==&lt;br /&gt;
[[Image:Jumpstart_title.gif|Jumpstart_title.gif|frame|]]&lt;br /&gt;
&amp;lt;rss&amp;gt;http://blog.maui.co.uk/index.php/jet/?tempskin=_rss2|title=none|max=5&amp;lt;/rss&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== JET Resources ==&lt;br /&gt;
&lt;br /&gt;
* [[Documents|JET Documents]]&lt;br /&gt;
* [[Resources|JET Resources]]&lt;br /&gt;
* [[Faq|JET FAQ]]&lt;br /&gt;
&lt;br /&gt;
If you wish to contribute to the JET Resources community, please contact us and ask for access to the Wiki.&lt;br /&gt;
&lt;br /&gt;
== About JET ==&lt;br /&gt;
&lt;br /&gt;
=== What Is the JumpStart Enterprise Toolkit ? ===&lt;br /&gt;
&lt;br /&gt;
The JumpStart Enterprise Toolkit is the name given to the Sun Microsystems JumpStart Framework, developed by Sun in the UK. The toolkit is part of the N1 SPS suite and is available as a seperate download from [http://onesearch.sun.com/search/onesearch/index.jsp?col=downloads-products&amp;amp;qt=JumpStart+Enterprise+Toolkit Sun Download Centre]&lt;br /&gt;
&lt;br /&gt;
=== JumpStart Information ===&lt;br /&gt;
&lt;br /&gt;
There are many benefits to using a framework to extend the functionality of JumpStart, for example:&lt;br /&gt;
&lt;br /&gt;
* improve the consistency of system installs&lt;br /&gt;
* faster implementation of projects&lt;br /&gt;
* improve build quality of the installations&lt;br /&gt;
* embed company best practices &lt;br /&gt;
&lt;br /&gt;
The toolkit is aimed at providing basic OS installations along with frequently used/requested addtional product installation, and minimal configuration.&lt;/div&gt;</summary>
		<author><name>Marty</name></author>
	</entry>
	<entry>
		<id>https://jet.maui.co.uk/wiki/index.php?title=CustomSolarisPackages&amp;diff=1442</id>
		<title>CustomSolarisPackages</title>
		<link rel="alternate" type="text/html" href="https://jet.maui.co.uk/wiki/index.php?title=CustomSolarisPackages&amp;diff=1442"/>
		<updated>2008-03-09T13:23:36Z</updated>

		<summary type="html">&lt;p&gt;Marty: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
&lt;br /&gt;
This document contains the procedures to follow when creating custom ACME packages for use within Solaris 9 and Solaris 8 builds that can then form part of your JET Builds. Packages within Solaris 10 have changed a bit and are ‘zone aware’ …… this is not covered in this document.&lt;br /&gt;
&lt;br /&gt;
===Solaris Packages and JET===&lt;br /&gt;
The Solaris build methodology in use within ACME is JET. JET (Jumpstart Enterprise Toolkit) can use either&lt;br /&gt;
&lt;br /&gt;
* Custom scripts OR&lt;br /&gt;
* Custom packages&lt;br /&gt;
&lt;br /&gt;
As of Solaris 9 the decision was made to move away from custom scripts and over to custom packages.&lt;br /&gt;
&lt;br /&gt;
Packages have more advantages of scripts in that they are self checking and under version control. The remainder of this document walks the reader through an example of how to make such custom packages.&lt;br /&gt;
&lt;br /&gt;
Package source directory on JET (jet-master)&lt;br /&gt;
The package source at the time of writing this document was&lt;br /&gt;
&lt;br /&gt;
/export/source/pkgs&lt;br /&gt;
&lt;br /&gt;
===Building Solaris Packages===&lt;br /&gt;
&lt;br /&gt;
====Give your Package a Name====&lt;br /&gt;
&lt;br /&gt;
A package needs a unique name and traditionally the first 4 characters help to identify the vendor. For this example we will use.&lt;br /&gt;
&lt;br /&gt;
* ACMEaardvark&lt;br /&gt;
&lt;br /&gt;
====Create the source directory structure====&lt;br /&gt;
&lt;br /&gt;
 # mkdir –p /export/source/pkgs/ACMEaardvark/1.0/&lt;br /&gt;
 # cd /export/source/pkgs/ACMEaardvark/1.0/&lt;br /&gt;
&lt;br /&gt;
====Create a pkginfo file====&lt;br /&gt;
&lt;br /&gt;
 # vi pkginfo&lt;br /&gt;
 &lt;br /&gt;
 PKG=&amp;quot;ACMEaardvark&amp;quot;&lt;br /&gt;
 NAME=&amp;quot;ACME aardvark package”&lt;br /&gt;
 ARCH=&amp;quot;sparc&amp;quot;&lt;br /&gt;
 VERSION=&amp;quot;1.0&amp;quot;&lt;br /&gt;
 CATEGORY=&amp;quot;application&amp;quot;&lt;br /&gt;
 VENDOR=&amp;quot;ACME&amp;quot;&lt;br /&gt;
 EMAIL=&amp;quot;firstname.lastname@ACME.co.uk&amp;quot;&lt;br /&gt;
 PSTAMP&amp;quot;15th August 2006&amp;quot;&lt;br /&gt;
 BASEDIR=&amp;quot;/etc&amp;quot;&lt;br /&gt;
 CLASSES=&amp;quot;none&amp;quot;&lt;br /&gt;
&lt;br /&gt;
====Create a preinstall script====&lt;br /&gt;
&lt;br /&gt;
 # vi preinstall&lt;br /&gt;
 &lt;br /&gt;
 #!/bin/ksh&lt;br /&gt;
 #do nothing&lt;br /&gt;
&lt;br /&gt;
====Create a postinstall script====&lt;br /&gt;
&lt;br /&gt;
 # vi postinstall&lt;br /&gt;
 &lt;br /&gt;
 #!/bin/ksh&lt;br /&gt;
 #do nothing&lt;br /&gt;
&lt;br /&gt;
====Supply your files to be packaged====&lt;br /&gt;
&lt;br /&gt;
For example&lt;br /&gt;
&lt;br /&gt;
 # touch aardvark.txt&lt;br /&gt;
 # echo “this is the ACMEaardvark package” &amp;gt;&amp;gt; aardvark.txt&lt;br /&gt;
&lt;br /&gt;
====Create a prototype file====&lt;br /&gt;
&lt;br /&gt;
 # cd /export/source/pkgs/ACMEaardvark/1.0/&lt;br /&gt;
 # find . -print | pkgproto &amp;gt;&amp;gt; prototype&lt;br /&gt;
&lt;br /&gt;
Edit this file and modify it so it looks similar to the one shown below&lt;br /&gt;
&lt;br /&gt;
 i pkginfo=./pkginfo&lt;br /&gt;
 i preinstall=./preinstall&lt;br /&gt;
 i postinstall=./postinstall&lt;br /&gt;
 f none aardvark.txt 0644 root other&lt;br /&gt;
&lt;br /&gt;
====Make your package====&lt;br /&gt;
&lt;br /&gt;
 # cd /export/source/pkgs/ACMEaardvark/1.0/&lt;br /&gt;
 # pkgmk -r `pwd`&lt;br /&gt;
&lt;br /&gt;
====Copy package to the JET install area====&lt;br /&gt;
&lt;br /&gt;
 # mkdir -p /export/install/pkgs/ACMEaardvark/1.0/&lt;br /&gt;
 # mv /var/spool/pkg/ACMEaardvark /export/install/pkgs/ACMEaardvark/1.0/&lt;br /&gt;
&lt;br /&gt;
====Test the package install====&lt;br /&gt;
&lt;br /&gt;
As root on a test server(jet-client) do the following&lt;br /&gt;
&lt;br /&gt;
 root@jet-client# cd /net/jet-server/export/install/pkgs/ACMEaardvark/1.0/&lt;br /&gt;
 root@jet-client# /net/jet-server/export/install/pkgs/ACMEaardvark/1.0&amp;gt; pkgadd -d .&lt;br /&gt;
 &lt;br /&gt;
 The following packages are available:&lt;br /&gt;
   1  ACMEaardvark     ACME aardvark package&lt;br /&gt;
                       (sparc) 1.0&lt;br /&gt;
 &lt;br /&gt;
 Select package(s) you wish to process (or 'all' to process&lt;br /&gt;
 all packages). (default: all) [?,??,q]:&lt;br /&gt;
 &lt;br /&gt;
 Processing package instance &amp;lt;ACMEaardvark&amp;gt; from &amp;lt;/net/jet-server/export/install/pkgs/ACMEaardvark/1.0&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 ACME aardvark package&lt;br /&gt;
 (sparc) 1.0&lt;br /&gt;
 ACME&lt;br /&gt;
  &lt;br /&gt;
 &lt;br /&gt;
 Using &amp;lt;/etc&amp;gt; as the package base directory.&lt;br /&gt;
 ## Processing package information.&lt;br /&gt;
 ## Processing system information.&lt;br /&gt;
 ## Verifying disk space requirements.&lt;br /&gt;
 ## Checking for conflicts with packages already installed.&lt;br /&gt;
 ## Checking for setuid/setgid programs.&lt;br /&gt;
 &lt;br /&gt;
 This package contains scripts which will be executed with super-user&lt;br /&gt;
 permission during the process of installing this package.&lt;br /&gt;
 &lt;br /&gt;
 Do you want to continue with the installation of &amp;lt;ACMEaardvark&amp;gt; [y,n,?] y&lt;br /&gt;
 &lt;br /&gt;
 Installing ACME aardvark package as &amp;lt;ACMEaardvark&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 ## Executing preinstall script.&lt;br /&gt;
 ## Installing part 1 of 1.&lt;br /&gt;
 /etc/aardvark.txt&lt;br /&gt;
 [ verifying class &amp;lt;none&amp;gt; ]&lt;br /&gt;
 ## Executing postinstall script. &lt;br /&gt;
 &lt;br /&gt;
 Installation of &amp;lt;ACMEaardvark&amp;gt; was successful.&lt;br /&gt;
 &lt;br /&gt;
 The following packages are available:&lt;br /&gt;
   1  ACMEaardvark     ACME aardvark package&lt;br /&gt;
                       (sparc) 1.0&lt;br /&gt;
 &lt;br /&gt;
 Select package(s) you wish to process (or 'all' to process&lt;br /&gt;
 all packages). (default: all) [?,??,q]: q&lt;br /&gt;
&lt;br /&gt;
====Copy this new package to the JET install area (making it available for JET installs)====&lt;br /&gt;
Should you wish to make your new package available during a JET build perform the following on the JET master (jet-server):&lt;br /&gt;
&lt;br /&gt;
 root@jet-client# copy_custom_packages /export/install/pkgs/ACMEaardvark/1.0/ sparc ACMEaardvark ACMEaardvark&lt;br /&gt;
 Transferring &amp;lt;ACMEaardvark&amp;gt; package instance&lt;br /&gt;
 Transferring &amp;lt;ACMEaardvark&amp;gt; package instance&lt;br /&gt;
 Packages copied&lt;br /&gt;
&lt;br /&gt;
The ACMEaardvark package is now available for installs via post-install and during a JET build.&lt;br /&gt;
&lt;br /&gt;
To add ACMEaardvark to a JET template do similar to that shown below:&lt;br /&gt;
&lt;br /&gt;
Change the following line in your template&lt;br /&gt;
&lt;br /&gt;
From&lt;br /&gt;
&lt;br /&gt;
custom_packages_1=&amp;quot;l”&lt;br /&gt;
&lt;br /&gt;
To&lt;br /&gt;
&lt;br /&gt;
custom_packages_1=&amp;quot;ACMEaardvark”&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You will then have to re run `make_client –f &amp;lt;jet-client&amp;gt;` as per the standard JET install instructions.&lt;/div&gt;</summary>
		<author><name>Marty</name></author>
	</entry>
	<entry>
		<id>https://jet.maui.co.uk/wiki/index.php?title=CustomSolarisPackages&amp;diff=1441</id>
		<title>CustomSolarisPackages</title>
		<link rel="alternate" type="text/html" href="https://jet.maui.co.uk/wiki/index.php?title=CustomSolarisPackages&amp;diff=1441"/>
		<updated>2008-03-09T13:22:44Z</updated>

		<summary type="html">&lt;p&gt;Marty: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
&lt;br /&gt;
This document contains the procedures to follow when creating custom ACME packages for use within Solaris 9 and Solaris 8 builds that can then form part of your JET Builds. Packages within Solaris 10 have changed a bit and are ‘zone aware’ …… this is not covered in this document.&lt;br /&gt;
&lt;br /&gt;
===Solaris Packages and JET===&lt;br /&gt;
The Solaris build methodology in use within ACME is JET. JET (Jumpstart Enterprise Toolkit) can use either&lt;br /&gt;
&lt;br /&gt;
* Custom scripts OR&lt;br /&gt;
* Custom packages&lt;br /&gt;
&lt;br /&gt;
As of Solaris 9 the decision was made to move away from custom scripts and over to custom packages.&lt;br /&gt;
&lt;br /&gt;
Packages have more advantages of scripts in that they are self checking and under version control. The remainder of this document walks the reader through an example of how to make such custom packages.&lt;br /&gt;
&lt;br /&gt;
Package source directory on JET (jet-master)&lt;br /&gt;
The package source at the time of writing this document was&lt;br /&gt;
&lt;br /&gt;
/export/source/pkgs&lt;br /&gt;
&lt;br /&gt;
===Building Solaris Packages===&lt;br /&gt;
&lt;br /&gt;
====Give your Package a Name====&lt;br /&gt;
&lt;br /&gt;
A package needs a unique name and traditionally the first 4 characters help to identify the vendor. For this example we will use.&lt;br /&gt;
&lt;br /&gt;
* ACMEaardvark&lt;br /&gt;
&lt;br /&gt;
====Create the source directory structure====&lt;br /&gt;
&lt;br /&gt;
 # mkdir –p /export/source/pkgs/ACMEaardvark/1.0/&lt;br /&gt;
 # cd /export/source/pkgs/ACMEaardvark/1.0/&lt;br /&gt;
&lt;br /&gt;
====Create a pkginfo file====&lt;br /&gt;
&lt;br /&gt;
 # vi pkginfo&lt;br /&gt;
 &lt;br /&gt;
 PKG=&amp;quot;ACMEaardvark&amp;quot;&lt;br /&gt;
 NAME=&amp;quot;ACME aardvark package”&lt;br /&gt;
 ARCH=&amp;quot;sparc&amp;quot;&lt;br /&gt;
 VERSION=&amp;quot;1.0&amp;quot;&lt;br /&gt;
 CATEGORY=&amp;quot;application&amp;quot;&lt;br /&gt;
 VENDOR=&amp;quot;ACME&amp;quot;&lt;br /&gt;
 EMAIL=&amp;quot;firstname.lastname@ACME.co.uk&amp;quot;&lt;br /&gt;
 PSTAMP&amp;quot;15th August 2006&amp;quot;&lt;br /&gt;
 BASEDIR=&amp;quot;/etc&amp;quot;&lt;br /&gt;
 CLASSES=&amp;quot;none&amp;quot;&lt;br /&gt;
&lt;br /&gt;
====Create a preinstall script====&lt;br /&gt;
&lt;br /&gt;
 # vi preinstall&lt;br /&gt;
 &lt;br /&gt;
 #!/bin/ksh&lt;br /&gt;
 #do nothing&lt;br /&gt;
&lt;br /&gt;
====Create a postinstall script====&lt;br /&gt;
&lt;br /&gt;
 # vi postinstall&lt;br /&gt;
 &lt;br /&gt;
 #!/bin/ksh&lt;br /&gt;
 #do nothing&lt;br /&gt;
&lt;br /&gt;
====Supply your files to be packaged====&lt;br /&gt;
&lt;br /&gt;
For example&lt;br /&gt;
&lt;br /&gt;
 # touch aardvark.txt&lt;br /&gt;
 # echo “this is the ACMEaardvark package” &amp;gt;&amp;gt; aardvark.txt&lt;br /&gt;
&lt;br /&gt;
====Create a prototype file====&lt;br /&gt;
&lt;br /&gt;
 # cd /export/source/pkgs/ACMEaardvark/1.0/&lt;br /&gt;
 # find . -print | pkgproto &amp;gt;&amp;gt; prototype&lt;br /&gt;
&lt;br /&gt;
Edit this file and modify it so it looks similar to the one shown below&lt;br /&gt;
&lt;br /&gt;
 i pkginfo=./pkginfo&lt;br /&gt;
 i preinstall=./preinstall&lt;br /&gt;
 i postinstall=./postinstall&lt;br /&gt;
 f none aardvark.txt 0644 root other&lt;br /&gt;
&lt;br /&gt;
====Make your package====&lt;br /&gt;
&lt;br /&gt;
 # cd /export/source/pkgs/ACMEaardvark/1.0/&lt;br /&gt;
 # pkgmk -r `pwd`&lt;br /&gt;
&lt;br /&gt;
====Copy package to the JET install area====&lt;br /&gt;
&lt;br /&gt;
 # mkdir -p /export/install/pkgs/ACMEaardvark/1.0/&lt;br /&gt;
 # mv /var/spool/pkg/ACMEaardvark /export/install/pkgs/ACMEaardvark/1.0/&lt;br /&gt;
&lt;br /&gt;
====Test the package install====&lt;br /&gt;
&lt;br /&gt;
As root on a test server(jet-client) do the following&lt;br /&gt;
&lt;br /&gt;
 root@jet-client# cd /net/jet-server/export/install/pkgs/ACMEaardvark/1.0/&lt;br /&gt;
 root@jet-client# /net/jet-server/export/install/pkgs/ACMEaardvark/1.0&amp;gt; pkgadd -d .&lt;br /&gt;
 &lt;br /&gt;
 The following packages are available:&lt;br /&gt;
   1  ACMEaardvark     ACME aardvark package&lt;br /&gt;
                       (sparc) 1.0&lt;br /&gt;
 &lt;br /&gt;
 Select package(s) you wish to process (or 'all' to process&lt;br /&gt;
 all packages). (default: all) [?,??,q]:&lt;br /&gt;
 &lt;br /&gt;
 Processing package instance &amp;lt;ACMEaardvark&amp;gt; from &amp;lt;/net/jet-server/export/install/pkgs/ACMEaardvark/1.0&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 ACME aardvark package&lt;br /&gt;
 (sparc) 1.0&lt;br /&gt;
 ACME&lt;br /&gt;
  &lt;br /&gt;
 &lt;br /&gt;
 Using &amp;lt;/etc&amp;gt; as the package base directory.&lt;br /&gt;
 ## Processing package information.&lt;br /&gt;
 ## Processing system information.&lt;br /&gt;
 ## Verifying disk space requirements.&lt;br /&gt;
 ## Checking for conflicts with packages already installed.&lt;br /&gt;
 ## Checking for setuid/setgid programs.&lt;br /&gt;
 &lt;br /&gt;
 This package contains scripts which will be executed with super-user&lt;br /&gt;
 permission during the process of installing this package.&lt;br /&gt;
 &lt;br /&gt;
 Do you want to continue with the installation of &amp;lt;ACMEaardvark&amp;gt; [y,n,?] y&lt;br /&gt;
 &lt;br /&gt;
 Installing ACME aardvark package as &amp;lt;ACMEaardvark&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 ## Executing preinstall script.&lt;br /&gt;
 ## Installing part 1 of 1.&lt;br /&gt;
 /etc/aardvark.txt&lt;br /&gt;
 [ verifying class &amp;lt;none&amp;gt; ]&lt;br /&gt;
 ## Executing postinstall script. &lt;br /&gt;
 &lt;br /&gt;
 Installation of &amp;lt;ACMEaardvark&amp;gt; was successful.&lt;br /&gt;
 &lt;br /&gt;
 The following packages are available:&lt;br /&gt;
   1  ACMEaardvark     ACME aardvark package&lt;br /&gt;
                       (sparc) 1.0&lt;br /&gt;
 &lt;br /&gt;
 Select package(s) you wish to process (or 'all' to process&lt;br /&gt;
 all packages). (default: all) [?,??,q]: q&lt;br /&gt;
&lt;br /&gt;
====Copy this new package to the JET install area (making it available for JET installs)====&lt;br /&gt;
Should you wish to make your new package available during a JET build perform the following on the JET master (jet-server):&lt;br /&gt;
&lt;br /&gt;
 root@jet-client# copy_custom_packages /export/install/pkgs/ACMEaardvark/1.0/ sparc ACMEaardvark ACMEaardvark&lt;br /&gt;
 Transferring &amp;lt;ACMEaardvark&amp;gt; package instance&lt;br /&gt;
 Transferring &amp;lt;ACMEaardvark&amp;gt; package instance&lt;br /&gt;
 Packages copied&lt;br /&gt;
&lt;br /&gt;
The ACMEaardvark package is now available for installs via post-install and during a JET build.&lt;br /&gt;
&lt;br /&gt;
To add ACMEaardvark to a JET template do similar to that shown below:&lt;br /&gt;
&lt;br /&gt;
Change the following line in your template&lt;br /&gt;
&lt;br /&gt;
From&lt;br /&gt;
&lt;br /&gt;
custom_packages_1=&amp;quot;l”&lt;br /&gt;
&lt;br /&gt;
To&lt;br /&gt;
&lt;br /&gt;
custom_packages_1=&amp;quot;ACMEaardvark”&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You will then have to re run `make_client –f &amp;lt;jet-client&amp;gt;` as per the standard JET install instructions.&lt;/div&gt;</summary>
		<author><name>Marty</name></author>
	</entry>
	<entry>
		<id>https://jet.maui.co.uk/wiki/index.php?title=Documents&amp;diff=1440</id>
		<title>Documents</title>
		<link rel="alternate" type="text/html" href="https://jet.maui.co.uk/wiki/index.php?title=Documents&amp;diff=1440"/>
		<updated>2008-03-09T13:16:41Z</updated>

		<summary type="html">&lt;p&gt;Marty: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
== Marketing! ==&lt;br /&gt;
&lt;br /&gt;
* [[JetFeatures]] - Basic ''feature'' list&lt;br /&gt;
&lt;br /&gt;
== Introduction Documents ==&lt;br /&gt;
* [[JumpStartPrimer]] - Introduction to JumpStart&lt;br /&gt;
* [[JETPrimer]] - Introduction to JET&lt;br /&gt;
&lt;br /&gt;
* [[JetWalkthrough]] - Document describing how to set up JET, courtesy of Paul Juster&lt;br /&gt;
* [[Jet_Installation_Recipe]] - From installing JET to booting hosts - Mark Ashley&lt;br /&gt;
&lt;br /&gt;
== Intermediate Documents ==&lt;br /&gt;
* [[MirroredSystemDisks]] - Using JET to mirror boot disks using SVM&lt;br /&gt;
&lt;br /&gt;
== Advanced/Developer Documents ==&lt;br /&gt;
* [[CustomSolarisPackages]] - Building custom Solaris packages (which you can then use with JET) - Stuart Saxon&lt;/div&gt;</summary>
		<author><name>Marty</name></author>
	</entry>
	<entry>
		<id>https://jet.maui.co.uk/wiki/index.php?title=Faq&amp;diff=1361</id>
		<title>Faq</title>
		<link rel="alternate" type="text/html" href="https://jet.maui.co.uk/wiki/index.php?title=Faq&amp;diff=1361"/>
		<updated>2007-10-03T08:15:52Z</updated>

		<summary type="html">&lt;p&gt;Marty: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Frequently Asked Questions ==&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
&lt;br /&gt;
==== What are these '.pkg'/'pkg.bz2' files ? ====&lt;br /&gt;
&lt;br /&gt;
&amp;quot;I've just downloaded the packages from the website, and now have files with a .pkg suffix. What do I do next ?&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The files you have are datastream packages. To install them, run&lt;br /&gt;
&lt;br /&gt;
      pkgadd -d filename.pkg&lt;br /&gt;
&lt;br /&gt;
rather than the more usual pkgadd -d . [pkgname]&lt;br /&gt;
&lt;br /&gt;
You can migrate the datastream format packages to regular directory based packages by using the pkgtrans(1m) command.&lt;br /&gt;
&lt;br /&gt;
      pkgtrans filename.pkg . all&lt;br /&gt;
&lt;br /&gt;
Basically, read up on pkgadd(1m) and pkgtrans(1m) !&lt;br /&gt;
&lt;br /&gt;
==== A GUI Frontend for JET ====&lt;br /&gt;
&lt;br /&gt;
Is there a Web Front End for JET ?&lt;br /&gt;
&lt;br /&gt;
Probably the most frequently requested feature. The short answer is 'no, there is no generic web front end for JET'.&lt;br /&gt;
&lt;br /&gt;
The long answer is that typically, web front ends are written to expose a subset of the features available in JET. For the case of 'standard builds', you may wish to have a pull down list of available builds and just plug in the MAC and IP addresses etc.&lt;br /&gt;
&lt;br /&gt;
As these front ends, with only a subset of features presented, are very much customised for a particular use/customer, it's work you need to do!&lt;br /&gt;
&lt;br /&gt;
If a 'generic web front end' was provided, it would need to be kept up to date with every modification to the toolkit. Quite frankly, it isn't going to be that useful to many people.&lt;br /&gt;
&lt;br /&gt;
JET has been designed so it is pretty easy to front end yourself.&lt;br /&gt;
&lt;br /&gt;
==== Getting Help with JET ====&lt;br /&gt;
&lt;br /&gt;
There are a number of places you can go for help with JET; first up is obviously Sun themselves - Email the people who look after JET on the alias jet@sun.com and someone should get back to you pretty quickly (UK Timezone).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sun have also put up information on the JET BigAdmin page at http://www.sun.com/bigadmin/content/jet/ and Mike Ramchand (one of the authors) tends to write things about JET in his blog at http://blogs.sun.com/roller/page/mramcha/20050826&lt;br /&gt;
&lt;br /&gt;
External to Sun are a number of resources; there is a Yahoo group at http://groups.yahoo.com/group/JETJumpStart/ and of course, you can approach me (marty at Maui-Systems dot co dot uk) as the other author of the toolkit from when I used to work for Sun.&lt;br /&gt;
&lt;br /&gt;
==== Whats in the Free Bundle ? ====&lt;br /&gt;
&lt;br /&gt;
The JET bundle downloadable from http;//www.sun.com/downloads currently (as of May 2006) contains the following modules.&lt;br /&gt;
&lt;br /&gt;
    * SUNWjet - The core JET product&lt;br /&gt;
    * SUNWjetd - The documentation - Please read&lt;br /&gt;
    * JetSDS - Configure SVM/SDS&lt;br /&gt;
    * JetVTS - Install the Test Suite&lt;br /&gt;
    * JetEXPLO - Install and configure Explorer&lt;br /&gt;
    * JetFLASH - Utilise flash archives for installation&lt;br /&gt;
    * JetSAN - Configure SANs&lt;br /&gt;
    * JetJASS - JASS toolkit install and configuration&lt;br /&gt;
    * JetZONES - Add local zones to your Solaris 10 global zones as part of the build&lt;br /&gt;
    * JetWanBoot - Plugin to allow JET to perform WANBOOTt installations&lt;br /&gt;
    * JetRBAC - Enables none root users to run JET using RBAC&lt;br /&gt;
&lt;br /&gt;
Sun releases/refreshes the bundle on an ad-hoc basis and normally communicates this fact to the comp.unix.solaris and alt.solaris.x86 newsgroups.&lt;br /&gt;
&lt;br /&gt;
==== Solaris 10 U1 (01/06) grub/newboot ====&lt;br /&gt;
&lt;br /&gt;
With the release of Solaris 10 Update 1 (01/06), the x86/64 platform boot method was transitioned to 'grub', finally doing away with the old DCA pre-boot environment. This new boot method was refered to as &amp;quot;newboot&amp;quot; internally to Sun and the phrase seems to have stuck.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To deal with this a JetNEWBOOT module was developed to &amp;quot;plugin&amp;quot; to JET versions prior to JET 4.2 to support this new boot environment. When JET 4.2 is released, the 'grub' installation method will be part of the core JET product.&lt;br /&gt;
&lt;br /&gt;
When using JetNEWBOOT, all you need to amend in your template is the&lt;br /&gt;
&lt;br /&gt;
    * base_config_allocation_method=&amp;quot;newboot&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As a guide to what to use:&lt;br /&gt;
&lt;br /&gt;
    * With Solaris 10 GA (03/05)&lt;br /&gt;
          o base_config_allocation_method=&amp;quot;dhcp&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
    * With Solaris 10 Update 1 (01/06) and above, JET (&amp;lt; 4.2) and JetNEWBOOT&lt;br /&gt;
          o base_config_allocation_method=&amp;quot;newboot&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
    * With Solaris 10 Update 1 (01/06) and above, JET (&amp;gt;= 4.2)&lt;br /&gt;
          o base_config_allocation_method=&amp;quot;grub&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
JetNEWBOOT is now part of the downloadable bundle from Sun but will not be required once JET 4.2 is released.&lt;br /&gt;
&lt;br /&gt;
==== Using 'iso' images instead of CD/DVDs ====&lt;br /&gt;
&lt;br /&gt;
The following was derived from information at http://www.unix.com/showthread.php?t=18074&lt;br /&gt;
&lt;br /&gt;
When using Solaris ISO images, the start of the image contains a hsfs (high sierra filesystem) with a couple of ufs filesystems appended to the end of it.&lt;br /&gt;
&lt;br /&gt;
The problem, is that using lofiadm, only the hsfs image is spotted and made available; the ufs filesystems are not seen, so you end up with broken links to 's1' and the like.&lt;br /&gt;
&lt;br /&gt;
To set up a JumpStart server using Solaris ISO images, you must have access to both slice 0 and slice 1 on the image.&lt;br /&gt;
&lt;br /&gt;
To fix the problem, split the contents of slice 1 into it's own image file and then mount this image separately using lofi.&lt;br /&gt;
&lt;br /&gt;
The following procedure describes how to do this.&lt;br /&gt;
&lt;br /&gt;
 # ls -l sol-9*&lt;br /&gt;
 -rw-r--r-- 1 root root 576364544 Jan 1 11:16 sol-9-u1-sparc-v1.iso&lt;br /&gt;
 -rw-r--r-- 1 root root 291962880 Jan 1 21:42 sol-9-u1-sparc-v2.iso&lt;br /&gt;
 &lt;br /&gt;
 This only applies to CD 1, all other isos can be mounted using lofiadm in the normal way.&lt;br /&gt;
 &lt;br /&gt;
 1. Get a copy of the VTOC from the ISO image:&lt;br /&gt;
 &lt;br /&gt;
   # dd if=sol-9-u1-sparc-v1.iso of=vtoc bs=512 count=1&lt;br /&gt;
   1+0 records in&lt;br /&gt;
   1+0 records out&lt;br /&gt;
 &lt;br /&gt;
 2. Now find out where Slice 1 starts in the image and how long it is. The starting cylinder for slice 1 is located at offset 452 (decimal) into the VTOC; the length in blocks is at offset 456, with both being 4 bytes long.&lt;br /&gt;
 &lt;br /&gt;
   # od -D -j 452 -N 8 &amp;lt; vtoc&lt;br /&gt;
   0000000 0000000888 0000546560&lt;br /&gt;
   0000010&lt;br /&gt;
 &lt;br /&gt;
 Slice 1 starts on cylinder 888, and is 546,560 blocks long. CD for the Solaris OS always have 640 blocks per cylinder, so you can find the starting block of slice 1 as follows:&lt;br /&gt;
 &lt;br /&gt;
   # echo 888*640 | bc&lt;br /&gt;
   568320&lt;br /&gt;
 &lt;br /&gt;
 So now you know s1 starts at block 568320 and is 546560 blocks long.&lt;br /&gt;
&lt;br /&gt;
 3. Copy slice one into a separate file:&lt;br /&gt;
 &lt;br /&gt;
   # dd if=sol-9-u1-sparc-v1.iso of=sol-9-u1-sparc-v1-s1.iso bs=512 skip=568320 count=546560&lt;br /&gt;
   546560+0 records in&lt;br /&gt;
   546560+0 records out&lt;br /&gt;
 &lt;br /&gt;
 4. Mount both slice 0 and slice 1 as follows:&lt;br /&gt;
 &lt;br /&gt;
   # mkdir /cd&lt;br /&gt;
   # mkdir /cd/s0&lt;br /&gt;
   # mkdir /cd/s1&lt;br /&gt;
   # lofiadm -a /path_to/sol-9-u1-sparc-v1.iso /dev/lofi/1&lt;br /&gt;
   # lofiadm -a /path_to/sol-9-u1-sparc-v1-s1.iso /dev/lofi/2&lt;br /&gt;
 &lt;br /&gt;
   When you mount slice 1, remember that it is a UFS partition, not HSFS as is usual on a CD-ROM:&lt;br /&gt;
 &lt;br /&gt;
   # mount -F hsfs -o ro /dev/lofi/1 /cd/s0&lt;br /&gt;
   # mount -F ufs -o ro /dev/lofi/2 /cd/s1&lt;br /&gt;
   # cd /cd/s0/Solaris_9/Tools/&lt;br /&gt;
   # ./setup_install_server /destination_dir&lt;br /&gt;
&lt;br /&gt;
==== How To Upgrade JET ====&lt;br /&gt;
&lt;br /&gt;
Upgrading JET is normally as easy as&lt;br /&gt;
&lt;br /&gt;
    * pkgrm SUNWjet&lt;br /&gt;
    * pkgadd -d . SUNWjet&lt;br /&gt;
&lt;br /&gt;
The JET packages were designed so that they don't remove your configs, templates or other 'configuration' settings when removed. However, if you hack the JET scripts etc, then this will remove your customisations - hence the reason hacking JET is frowned upon and you are recommended to look at writing your own modules instead.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
However, if you are upgrading from JET 3.x to 4.x, then you need to do some additional work. The following was taken from Mike's Sun blog&lt;br /&gt;
&lt;br /&gt;
 Things might be a little trickier if you've already got JET 3.7.3 installed, and you want to keep you existing templates etc. The easiest way to accomplish this is to pkgrm all your existing JET packages. (SUNWjet, and all the packages that start with JET), and then&lt;br /&gt;
 &lt;br /&gt;
 mv /opt/jet /opt/SUNWjet&lt;br /&gt;
 &lt;br /&gt;
 Finally install the new JET packages.If you've created you own custom modules or scripts, you may need to check them to ensure you haven't hard-coded any /opt/jet paths in them.&lt;br /&gt;
&lt;br /&gt;
The extra bits are&lt;br /&gt;
* remember to update your .profile with the new path (/opt/SUNWjet/bin)&lt;br /&gt;
* if you have any existing clients, you will need to re-run 'make_client' on them, as /etc/bootparams and/or dhcp macro table will have the directory /opt/jet mentioned as the config directory, rather than the new /opt/SUNWjet&lt;br /&gt;
&lt;br /&gt;
==== How to set up JET as a PXE (DHCP) Server ====&lt;br /&gt;
&lt;br /&gt;
The easiest way of setting up JET to serve up PXE boot clients (or other DHCP clients) is to copy, edit and then run the &amp;quot;helper script&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
cp /opt/SUNWjet/Products/base_config/solaris/make_dhcp /var/tmp&lt;br /&gt;
&lt;br /&gt;
edit it to suit your network&lt;br /&gt;
ie&lt;br /&gt;
&lt;br /&gt;
    NETWORK=10.1.1.0&lt;br /&gt;
 &lt;br /&gt;
    NETMASK=255.255.255.0&lt;br /&gt;
 &lt;br /&gt;
    ROUTER=10.1.1.1&lt;br /&gt;
 &lt;br /&gt;
    dhcpconfig -D -r SUNWfiles -p /var/tmp&lt;br /&gt;
    dhcpconfig -N ${NETWORK} -m ${NETMASK} -t ${ROUTER}&lt;br /&gt;
&lt;br /&gt;
Then run it, /var/tmp/make_dhcp&lt;br /&gt;
&lt;br /&gt;
JET will now &amp;quot;do the right thing&amp;quot; based on the allocation method in your template.&lt;br /&gt;
&lt;br /&gt;
==== Documents reference Solaris 8 and 9, not 10. Does this work with Solaris 10 ? ====&lt;br /&gt;
&lt;br /&gt;
JET was originally developed in the era of Solaris 7, 8 and 9. As such whatever documentation there is, normally uses one of those in examples.&lt;br /&gt;
&lt;br /&gt;
JET works fine with Solaris 10, and unless anything specific is said, it works in the same fashion with 10 (and indeed 11 if that is what it gets called) in the same fashion as previous versions of Solaris.&lt;br /&gt;
&lt;br /&gt;
JET doesn't deal with upgrades at all; if you want to upgrade using JumpStart, then you need to hand-craft something - there are too many risks for JET to be able to claim to work properly in every situation, so it doesn't claim to do upgrades at all.&lt;br /&gt;
&lt;br /&gt;
=== Configuration ===&lt;br /&gt;
&lt;br /&gt;
==== JET and Boot Servers ====&lt;br /&gt;
&lt;br /&gt;
Initially, JET was not designed to use the JumpStart Boot Server concepts. There are some internal to Sun modules that are known to extend JET to include Boot Server support and also do so much more for distributed JET environments.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If this is a requirement for you, contact Sun (jet@sun.com) and try to get them involved. If what they have already doesn't fit, it's probably easy for them to adjust it!&lt;br /&gt;
&lt;br /&gt;
==== Disksuite Soft Partitions ====&lt;br /&gt;
&lt;br /&gt;
The easiest way is to create an md.tab file&lt;br /&gt;
and put it under /opt/jet/Clients/clientname&lt;br /&gt;
&lt;br /&gt;
The format of the md.tab should be something like:&lt;br /&gt;
&lt;br /&gt;
    d50 -p d40 100m&lt;br /&gt;
    d40 -m d41&lt;br /&gt;
    d41 1 1 /dev/rdsk/c1t0d0s0&lt;br /&gt;
    d42 1 1 /dev/rdsk/c2t0d0s0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
or for creating a mirrored stripe with softpartitions:&lt;br /&gt;
&lt;br /&gt;
    d70 -p d60 1g&lt;br /&gt;
    d60 -m d61&lt;br /&gt;
    d61 1 2 /dev/rdsk/c1t1d0s0 /dev/rdsk/c1t2d0s0&lt;br /&gt;
    d62 1 2 /dev/rdsk/c2t1d0s0 /dev/rdsk/c2t2d0s0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In addition, the disks used above should all have their vtocs created.&lt;br /&gt;
This is achieved with the following lines from JET base_config:&lt;br /&gt;
&lt;br /&gt;
    base_config_profile_disk_c0t1d0s0_size=&amp;quot;free&amp;quot;&lt;br /&gt;
    base_config_profile_disk_c0t1d0s7_size=&amp;quot;32&amp;quot; (repeat for above disks)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Don't associate any mount points with these partitions.&lt;br /&gt;
&lt;br /&gt;
Finally, to initialise and attach, put in the correct order:&lt;br /&gt;
&lt;br /&gt;
    sds_metadevices_to_init=&amp;quot;d41 d42 d40 d50 d61 d62 d60 d70&amp;quot;&lt;br /&gt;
    sds_metadevices_to_attach=&amp;quot;d40:d42 d60:d62&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
and then add the entries for /etc/vfstab:&lt;br /&gt;
&lt;br /&gt;
    sds_newfs_devices=&amp;quot;/dev/md/rdsk/d50&amp;quot;&lt;br /&gt;
    sds_mount_devices=&amp;quot;/dev/md/dsk/d50:/d50:2:logging&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== Upgrade vs Install ====&lt;br /&gt;
&lt;br /&gt;
JET doesn't do upgrades; you could in theory do it, since JumpStart does support upgrades, but would you really want to ?&lt;br /&gt;
&lt;br /&gt;
Pretty much every system is unique, so just running an 'automated' upgrade on a bunch of systems will produce a mixture of results; in fact, many people, say that you have two real options...&lt;br /&gt;
&lt;br /&gt;
   1. make sure your 'data' is saved, and then do a burn and build. Safest option, as you know exactly what you are going to get; bad side is that you need to know where your data is.&lt;br /&gt;
 &lt;br /&gt;
   2. do a manual upgrade; you can still use the network Solaris images, just omit the '- install'; 'boot net' that way, you are in control and don't invoke any errant finish scripts that you may not be expecting.&lt;br /&gt;
&lt;br /&gt;
Hence the reason we don't promote upgrades; there are too many variables; JET is designed for burn and build, since it's origin is from field installations. Not saying it isn't possible, but by the time you get it working, you may have taken less time to do the upgrades by hand!&lt;br /&gt;
&lt;br /&gt;
==== Using SVM to mirror root disks ====&lt;br /&gt;
&lt;br /&gt;
&amp;quot;I have configured a jumpstart server using Sun JET 4.1. I am trying to build a client with ODS (disksuite) to mirror rootdisk. I installed the sds package and did all the configuration bit.  I  have managed to build the client system successfully with all the mirrors and can see the mirror using “metastat –p” command. The only issue is, the system is not showing the metadevices entries in “/etc/vfstab” file and therefore has booted from the normal devices.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
When configuring SVM/SDS for root disks, use the sds_root_mirror setting in the template. It was desgined to 'encapsulate' existing filesystems with SVM metadevices - even if you don't actually have the other device to mirror the root disk to yet.&lt;br /&gt;
&lt;br /&gt;
The sds_metadevices_to_* variables are used to create new metadevices and filesystems - setting things here won't affect your /etc/vfstab for existing filesystems unless you do it yourself.&lt;br /&gt;
&lt;br /&gt;
==== JET and JASS Integration ====&lt;br /&gt;
&lt;br /&gt;
You need to get hold of the JetJASS module, which as far as I know is not part of&lt;br /&gt;
the standard download available at www.sun.com/downloads&lt;br /&gt;
&lt;br /&gt;
If you have JetJASS, then doing a 'make_template -T &amp;lt;client&amp;gt; &amp;lt;client&amp;gt; jass' will&lt;br /&gt;
add the JASS module details to your template. After that, the options are&lt;br /&gt;
pretty self-explanatory - providing you understand JASS that is.&lt;br /&gt;
&lt;br /&gt;
For those who don't have JetJASS, then you need to engage Sun to get hold of it; you can either do that through your local account manager or through the jet@sun.com alias.&lt;br /&gt;
&lt;br /&gt;
==== How does this JetZONES module work ? ====&lt;br /&gt;
&lt;br /&gt;
The philosophy behind the module was to try to treat zones as a normal JET client. In order to do this, you need to :&lt;br /&gt;
&lt;br /&gt;
* Enable JET server to deploy zones. This is achieved by adding JetZONES to the JET server&lt;br /&gt;
* Add JET support to the 'parent' system. The 'parent' system is the system on which the zones will be created. This is achieved by adding the 'zones' module to the template for the parent.&lt;br /&gt;
* Create a 'zone' definition by using the 'make_zone_template' which gives you a cut down standard Solaris template.&lt;br /&gt;
** zone definitions are not tied to the parent unless specifically referenced in the parent template. By default a zone could be instantiated on any of the possible parents (usual network and resource restrictions obviously apply).&lt;br /&gt;
&lt;br /&gt;
You can manually 'JumpStart' a zone on a parent by running the 'jetzone' command, which will then contact the JET server and hopefully do the right thing.&lt;br /&gt;
&lt;br /&gt;
The obvious caveats, are that very few of the usual modules are zone aware, so you have to be careful with additional jet modules in zone templates.&lt;br /&gt;
&lt;br /&gt;
In summary, the steps are&lt;br /&gt;
&lt;br /&gt;
 1. make_template myclient zones&lt;br /&gt;
 2. (optional) edit the zones section to add the zone names to be used&lt;br /&gt;
 3. make_zone_template &amp;lt;zone&amp;gt;&lt;br /&gt;
 4. make_client &amp;lt;zone&amp;gt;&lt;br /&gt;
 5. make_client &amp;lt;client&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Further comments are within the the zone template&lt;br /&gt;
&lt;br /&gt;
==== Using Jet-4.1, how do I get 'sds' and 'flash' to work together - ie, after applying a flash image, I then want to mirror with the 'sds' module. ====&lt;br /&gt;
&lt;br /&gt;
You use JET exactly as you would do for a normal build; it just&lt;br /&gt;
means that the usual profile information (cluster etc) gets&lt;br /&gt;
ignored and the initial install is done from a flash archive.&lt;br /&gt;
&lt;br /&gt;
make_template -f client1 base_config flash sds&lt;br /&gt;
&lt;br /&gt;
edit as usual, build as usual and the sds stuff will get applied&lt;br /&gt;
after the first reboot, exactly as a normal JET build.&lt;br /&gt;
&lt;br /&gt;
==== Is it possible to include the DB and application into the install? ====&lt;br /&gt;
&lt;br /&gt;
Absolutely; if you can script the installation and configuration of the DB and application, then JumpStart and/or JET can happily set things up during the install of Solaris.&lt;br /&gt;
&lt;br /&gt;
Use the resources at http://jet.maui.co.uk/wiki/index.php/Resources for pointers to documentation and email aliases to help if required.&lt;br /&gt;
&lt;br /&gt;
==== How can I add packages after the initial installation and patching? ====&lt;br /&gt;
&lt;br /&gt;
Solaris packages (i.e. the ones that come on the main Solaris CD's) are added using the base_config_add_package / base_config_add_cluster options in the template; these then instruct the Solaris installer to deal with them.&lt;br /&gt;
&lt;br /&gt;
To install other arbitrary packages, patches, files or scripts, look at the 'custom' module that is included in the main SUNWjet package. It has options for custom_packages and custom_patches, along with similar constructs for files and scripts.&lt;br /&gt;
&lt;br /&gt;
Be sure to read the http://jet.maui.co.uk/wiki/index.php/JETPrimer page, as it has an example of using the 'custom' module.&lt;br /&gt;
&lt;br /&gt;
==== Adding Mount Options ====&lt;br /&gt;
&lt;br /&gt;
The base_config_profile_s?_mtpt variables are used to populate the&lt;br /&gt;
client profile. The client profile allows commands such as&lt;br /&gt;
&lt;br /&gt;
filesys c1t4d0s0 1024 /var nosuid&lt;br /&gt;
&lt;br /&gt;
so you should be able to do something like&lt;br /&gt;
&lt;br /&gt;
base_config_profile_s5_mtpt=&amp;quot;/var nosuid&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Just remember the quotes!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== How do I create additional disk/mirrors ====&lt;br /&gt;
&lt;br /&gt;
JET can be used to create additional mirrors by creating the slices in the base_config section&lt;br /&gt;
&lt;br /&gt;
 ############&lt;br /&gt;
 #&lt;br /&gt;
 # You can specify additional disks to use/configure here&lt;br /&gt;
 #&lt;br /&gt;
 # additional_disks is a space separated list of c?t?d? type disk names&lt;br /&gt;
 #&lt;br /&gt;
 # For each disk listed in additional_disks, a pair of variables of the form&lt;br /&gt;
 #&lt;br /&gt;
 # base_config_profile_disk_c?t?d?s?_mtpt=&amp;quot;....&amp;quot;&lt;br /&gt;
 # base_config_profile_disk_c?t?d?s?_size=&amp;quot;....&amp;quot;&lt;br /&gt;
 #&lt;br /&gt;
 # should be defined for each slice required on the disk.&lt;br /&gt;
 #&lt;br /&gt;
 # N.B. DO NOT SET THE BOOT DISK UP HERE !&lt;br /&gt;
 #&lt;br /&gt;
 base_config_profile_additional_disks=&amp;quot;&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
ie:- If you have disks on c3 and c4 you want to mirror to c5 and c6, 1st lay out the partitions&lt;br /&gt;
&lt;br /&gt;
 base_config_profile_addtional_disks=&amp;quot;c3t0d0 c4t0d0&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 base_config_profile_disk_c3t0d0s0_mtpt=&amp;quot;/export/extra&amp;quot;&lt;br /&gt;
 base_config_profile_disk_c3t0d0s0_size=&amp;quot;10240&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 base_config_profile_disk_c4t0d0s3_mtpt=&amp;quot;/export/extra2&amp;quot;&lt;br /&gt;
 base_config_profile_disk_c4t0d0s3_size=&amp;quot;10240&amp;quot;&lt;br /&gt;
&lt;br /&gt;
etc etc&lt;br /&gt;
&lt;br /&gt;
And then use the &amp;quot;simple mirrors&amp;quot; bit of the sds template&lt;br /&gt;
&lt;br /&gt;
 ############&lt;br /&gt;
 #&lt;br /&gt;
 # You can also describe other simple mirrors - these only work if you define&lt;br /&gt;
 # the partitions in the base_config_profile_disk_ variables&lt;br /&gt;
 #&lt;br /&gt;
 # The format of this variable is a space separated list of source=target,&lt;br /&gt;
 # i.e. c0t1d0=c1t1d0 where the source is the primary&lt;br /&gt;
 #&lt;br /&gt;
 sds_simple_mirrors=&amp;quot;c3t0d0=c5t0d0 c4t0d0=c6t0d0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Anything more complicated can be achived by creating a md.tab and supplying it to the build (via the SDS module), as there was/is no point in re-inventing the wheel.&lt;br /&gt;
&lt;br /&gt;
==== JetZONES and other modules - an anomoly ====&lt;br /&gt;
&lt;br /&gt;
JetZONES will work with other modules as normal, except you will see error messages about being unable to locate packages (see below)&lt;br /&gt;
&lt;br /&gt;
This is because the zones module is intended to be architecture neutral and you will see the base_config_ClientArch= is set to &amp;quot;zone&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
After a heavy dig around the code, the only work around would be to change JET core, and that is just not going to happen.&lt;br /&gt;
&lt;br /&gt;
So, it is a case of &amp;quot;BE AWARE&amp;quot; that errors similar to below will appear when you run make_client against the zone template.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Although it says &amp;quot;FAILED&amp;quot; it will still have made the /opt/SUNWjet/Clients/&amp;lt;client&amp;gt; dir&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
An example below shows the build still worked&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
make_client output&lt;br /&gt;
&lt;br /&gt;
 checking product base_config/solariszone&lt;br /&gt;
 Checking product custom&lt;br /&gt;
 WARNING: CUSTOM: Unable to locate custom package SFWmozilla&lt;br /&gt;
 --------------------------------------------------------------&lt;br /&gt;
 Check of client b1-zone1 &lt;br /&gt;
  &lt;br /&gt;
 #######                                                   ###&lt;br /&gt;
 #          ##       #    #       ######  #####            ###&lt;br /&gt;
 #         #  #      #    #       #       #    #           ###&lt;br /&gt;
 #####    #    #     #    #       #####   #    #            #&lt;br /&gt;
 #        ######     #    #       #       #    #&lt;br /&gt;
 #        #    #     #    #       #       #    #           ###&lt;br /&gt;
 #        #    #     #    ######  ######  #####            ###&lt;br /&gt;
&lt;br /&gt;
jumpstart.log output&lt;br /&gt;
&lt;br /&gt;
 CUSTOM: Installing custom....&lt;br /&gt;
 CUSTOM: Installing SFWmozilla from: //var/opt/sun/jet/js_media/pkg/custom/i386&lt;br /&gt;
 &lt;br /&gt;
 Installation of SFWmozilla was successful.&lt;br /&gt;
 CUSTOM: SFWmozilla installation complete&lt;br /&gt;
 CUSTOM: Register postinstall script 'postinstall' for boot n&lt;br /&gt;
 ----------------------------------------------------------&lt;br /&gt;
 Product modules processed, finish up installation tasks&lt;br /&gt;
 Creating directory: /var/opt/sun/jet/system.add/updated&lt;br /&gt;
 Copying file etc/jumpstart.conf to //var/opt/sun/jet/config/jumpstart.conf&lt;br /&gt;
 Copying file Utils/smf/jetjump.xml to //var/svc/manifest/site/jetjump.xml&lt;br /&gt;
 Copying file Utils/S99jumpstart to //var/opt/sun/jet/post_install/S99jumpstart&lt;br /&gt;
 NFS Unmounting Media Directories&lt;br /&gt;
 Unmounting /var/opt/sun/jet/js_media/pkg&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting ===&lt;br /&gt;
&lt;br /&gt;
==== Solaris x86 Media on Sparc (and vice-versa) ====&lt;br /&gt;
&lt;br /&gt;
Jumpstarting with x86 Laptops and SPARC systems&lt;br /&gt;
&lt;br /&gt;
Typically a nice use for laptops is to automate the install or to allow&lt;br /&gt;
the install of systems lacking a CD-ROM drive.&lt;br /&gt;
&lt;br /&gt;
Running setup-install-server&lt;br /&gt;
&lt;br /&gt;
Prior to Solaris 9, you could use the SPARC Solaris CD and run&lt;br /&gt;
setup-install-server on your laptop as well as using an x86 Solaris CD&lt;br /&gt;
on a SPARC based system.&lt;br /&gt;
&lt;br /&gt;
This is no longer the case.&lt;br /&gt;
&lt;br /&gt;
The layout of the CD's for Solaris 8 an prior would contain a copy of&lt;br /&gt;
the miniroot under &amp;quot;Boot&amp;quot; in the Tools directory of the CD-ROM. The&lt;br /&gt;
whole filesystem would be of the &amp;quot;hsfs&amp;quot; type and thus readable across&lt;br /&gt;
architectures.&lt;br /&gt;
&lt;br /&gt;
 user:/cdrom/sol_8_202_ia/Solaris_8/Tools% ls -l&lt;br /&gt;
 total 187&lt;br /&gt;
 drwxr-xr-x  18 root     other       4096 Dec 18  2001 Boot/&lt;br /&gt;
 -rwxr-xr-x   1 root     bin        59058 Nov 27  2001 add_install_client&lt;br /&gt;
 -rwxr-xr-x   1 root     sys         1325 Nov 27  2001 dial&lt;br /&gt;
 -rwxr-xr-x   1 root     bin        18599 Nov 27  2001 rm_install_client&lt;br /&gt;
 -rwxr-xr-x   1 root     bin        11689 Nov 27  2001 setup_install_server&lt;br /&gt;
 &lt;br /&gt;
 user@machine:/cdrom/sol_8_202_sparc/s0/Solaris_8/Tools% ls -l&lt;br /&gt;
 total 187&lt;br /&gt;
 drwxr-xr-x  17 root     other       4096 Dec 18  2001 Boot/&lt;br /&gt;
 -rwxr-xr-x   1 root     bin        59058 Nov 27  2001 add_install_client&lt;br /&gt;
 -rwxr-xr-x   1 root     sys         1325 Nov 27  2001 dial&lt;br /&gt;
 -rwxr-xr-x   1 root     bin        18599 Nov 27  2001 rm_install_client&lt;br /&gt;
 -rwxr-xr-x   1 root     bin        11689 Nov 27  2001 setup_install_server&lt;br /&gt;
 &lt;br /&gt;
 user@machine:/% fstyp /vol/dev/dsk/c7t1d0/sol_8_202_ia&lt;br /&gt;
 hsfs&lt;br /&gt;
 user@machine:/% fstyp /vol/dev/dsk/c1t6d0/sol_8_202_sparc/s0&lt;br /&gt;
 hsfs&lt;br /&gt;
 user@machine:/% fstyp /vol/dev/dsk/c7t1d0/sol_8_202_ia&lt;br /&gt;
 hsfs&lt;br /&gt;
&lt;br /&gt;
s1 contains a ufs copy of the miniroot as well. This is what you're&lt;br /&gt;
actually running from when you boot off of the CD. However, as ufs is&lt;br /&gt;
architecture specific, you can't mount a SPARC ufs partition on an x86&lt;br /&gt;
box and vice versa.&lt;br /&gt;
&lt;br /&gt;
 user@machine:/% fstyp /vol/dev/dsk/c1t6d0/sol_8_202_sparc/s1&lt;br /&gt;
 ufs&lt;br /&gt;
&lt;br /&gt;
Starting with Solaris 9, there isn't enough space on CD 1 of 2. CD 1 of&lt;br /&gt;
2 should be all that is needed to do an &amp;quot;End User&amp;quot; install. Certain&lt;br /&gt;
packages therefore need to be included there.&lt;br /&gt;
&lt;br /&gt;
The hsfs copy of the miniroot takes up over 200M in the Solaris 8 2/02.&lt;br /&gt;
Freeing up this space was necessary.&lt;br /&gt;
&lt;br /&gt;
With Solaris 9, the &amp;quot;Boot&amp;quot; directory looks like this:&lt;br /&gt;
&lt;br /&gt;
 user@machine:/cdrom/sol_9_sparc/s0/Solaris_9/Tools% ls -l&lt;br /&gt;
 total 184&lt;br /&gt;
 lrwxrwxrwx   1 root     other         11 Apr 15  2002 Boot -&amp;gt; ../../../s1&lt;br /&gt;
 -rwxr-xr-x   2 root     bin        59586 Apr 15  2002 add_install_client&lt;br /&gt;
 -rwxr-xr-x   2 root     sys         1325 Apr 15  2002 dial&lt;br /&gt;
 -rwxr-xr-x   2 root     bin        18599 Apr 15  2002 rm_install_client&lt;br /&gt;
 -rwxr-xr-x   2 root     bin        13045 Apr 15  2002 setup_install_server&lt;br /&gt;
&lt;br /&gt;
s1 however is ufs, which is architecture specific.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 user@machine:/% fstyp /vol/dev/dsk/c1t0d0/sol_9_sparc/s1&lt;br /&gt;
 ufs&lt;br /&gt;
&lt;br /&gt;
If I attempt to run &amp;quot;setup_install_server&amp;quot; on my x86 laptop from a SPARC&lt;br /&gt;
Solaris 9 CD, you get the following:&lt;br /&gt;
&lt;br /&gt;
 # pwd&lt;br /&gt;
 /cdrom/sol_9_sparc/Solaris_9/Tools&lt;br /&gt;
 # ./setup_install_server /export/install/Solaris_9&lt;br /&gt;
 ERROR: Install boot image /cdrom/sol_9_sparc/Solaris_9/Tools/Boot does &lt;br /&gt;
 not exist&lt;br /&gt;
        Check that boot image exists, or use [-t] to&lt;br /&gt;
        specify a valid boot image elsewhere&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Getting it to work&lt;br /&gt;
These instructions are architecture neutral. They will work if you are&lt;br /&gt;
trying to configure jumpstart from an x86 server to a SPARC client or&lt;br /&gt;
setting up a SPARC server to jumpstart x86 clients.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Option 1: Use the DVD&lt;br /&gt;
 &lt;br /&gt;
 The Solaris OE on DVD has enough space to continue to include the&lt;br /&gt;
 miniroot in the architecture neutral portion of itself. The format is&lt;br /&gt;
 udfs, which is used for DVD's instead of hsfs for CD's.&lt;br /&gt;
 &lt;br /&gt;
 This assumes that you, of course, HAVE a DVD drive.&lt;br /&gt;
 &lt;br /&gt;
 The downside of this is that you get a bunch of stuff that might not&lt;br /&gt;
 want to include on your install image. Things such as all of&lt;br /&gt;
 localizations and languages take up space on your server's harddrive.&lt;br /&gt;
&lt;br /&gt;
Option 2: Create 2 JumpStart servers&lt;br /&gt;
&lt;br /&gt;
 You can run the setup_install_server script on the system of the same&lt;br /&gt;
 architecture and then share it out via NFS to the other system. This of&lt;br /&gt;
 course assumes that you have enough temporary space on the system.&lt;br /&gt;
 &lt;br /&gt;
 Mount up the CD-ROM locally and run &amp;quot;setup_install_server&amp;quot; as if you&lt;br /&gt;
 were going to make the system you're on a jumpstart server. I recommend&lt;br /&gt;
 installing to /export/install, but you may have another preference.&lt;br /&gt;
 After the 1st CD completes, you can add in the second one to the install&lt;br /&gt;
 image if you like or add it after you've transferred the image over.&lt;br /&gt;
 &lt;br /&gt;
 Share out the image via NFS my manually sharing it out using the share&lt;br /&gt;
 command or through /etc/dfs/dfstab with a line similar to this:&lt;br /&gt;
&lt;br /&gt;
 #Share out the jumpstart directory for installs&lt;br /&gt;
 share -F nfs -o ro,anon=0 /export/install&lt;br /&gt;
 &lt;br /&gt;
 Start the NFS server if necessary.&lt;br /&gt;
 &lt;br /&gt;
 Mount up the shared directory to your desired server.&lt;br /&gt;
 &lt;br /&gt;
 Run &amp;quot;setup_install_server&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Option 3: Use NFS&lt;br /&gt;
&lt;br /&gt;
 Using NFS, gets around the architecture issue with ufs. You can mount a&lt;br /&gt;
 NFS share on a client and the client doesn't care what the underlying&lt;br /&gt;
 filesystem is on the server.&lt;br /&gt;
 &lt;br /&gt;
 The downside here is that its a bit more complex and that it may take a&lt;br /&gt;
 bit longer to setup because you have to install the image over the&lt;br /&gt;
 network. Also, you'll need 2 systems, a SPARC based one and a x86 one.&lt;br /&gt;
 &lt;br /&gt;
 Add the following line to your /etc/rmmount.conf on the system of the&lt;br /&gt;
 same architecture that you want to create a jumpstart image of. (If you&lt;br /&gt;
 want to put a copy of Solaris 9 SPARC on your x86 laptop, add this line&lt;br /&gt;
 to the SPARC system. If you want to do put a Solaris 9 x86 image on your&lt;br /&gt;
 SPARC system, the line goes in your x86 system's rmmount.conf)&lt;br /&gt;
 &lt;br /&gt;
 # share out the CD-ROM&lt;br /&gt;
 share cdrom* -o ro,anon=0&lt;br /&gt;
 &lt;br /&gt;
 This line causes vold automatically share out the CD-ROM and all&lt;br /&gt;
 partitions on that CD. This is needed because NFS sharing doesn't span&lt;br /&gt;
 filesystems automatically. &amp;quot;anon=0&amp;quot; causes reads by UID=0, which is&lt;br /&gt;
 normally mapped to user &amp;quot;nobody&amp;quot; by NFS for security reasons to remain&lt;br /&gt;
 mapped to UID=0. This isn't a security issue here because the CD is a&lt;br /&gt;
 Read-Only medium anyways.&lt;br /&gt;
 &lt;br /&gt;
 You will need to re-start vold. Runnning &amp;quot;/etc/init.d/volmgt stop&amp;quot; and&lt;br /&gt;
 &amp;quot;/etc/init.d/volmgt start&amp;quot; will do this.&lt;br /&gt;
 &lt;br /&gt;
 You'll likely need to start up the NFS server processes as well. You can&lt;br /&gt;
 either manually start them each time you boot your system or put the&lt;br /&gt;
 following into /etc/dfs/dfstab&lt;br /&gt;
 &lt;br /&gt;
 share -F nfs -o ro,anon=0 /cdrom&lt;br /&gt;
 &lt;br /&gt;
 If you don't have NFS already sharing out filesystems, you'll need to&lt;br /&gt;
 start it by running &amp;quot;/etc/init.d/nfs.server start&amp;quot; as root.&lt;br /&gt;
 &lt;br /&gt;
 At this point, drop in your CD into the appropriate system. It should&lt;br /&gt;
 mount and share things automatically.&lt;br /&gt;
 &lt;br /&gt;
 # mount&lt;br /&gt;
 /cdrom/sol_9_x86/s2 on /vol/dev/dsk/c1t0d0/sol_9_x86/s2 read &lt;br /&gt;
only/nosuid/maplcase/noglobal/rr/traildot/dev=1740003 on Tue Dec  3 &lt;br /&gt;
15:09:39 2002&lt;br /&gt;
 /cdrom/sol_9_x86/s0 on /vol/dev/dsk/c1t0d0/sol_9_x86/s0 read &lt;br /&gt;
only/nosuid/intr/largefiles/onerror=panic/dev=1740001 on Tue Dec  3 &lt;br /&gt;
15:09:39 2002&lt;br /&gt;
 &lt;br /&gt;
 # share&lt;br /&gt;
 -               /cdrom   ro,anon=0   &amp;quot;&amp;quot;&lt;br /&gt;
 -               /cdrom/sol_9_x86/s2   ro,anon=0   &amp;quot;&amp;quot;&lt;br /&gt;
 -               /cdrom/sol_9_x86/s0   ro,anon=0   &amp;quot;&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 At this point you should be able to CD down&lt;br /&gt;
 to the appropriate location to run your setup_install_server.&lt;br /&gt;
 &lt;br /&gt;
 # pwd&lt;br /&gt;
 /&lt;br /&gt;
 # cd /cdrom/sol_9_x86/s2/Solaris_9/Tools&lt;br /&gt;
 # pwd&lt;br /&gt;
 /cdrom/sol_9_x86/s2/Solaris_9/Tools&lt;br /&gt;
 # ls&lt;br /&gt;
 Boot                  dial                  setup_install_server&lt;br /&gt;
 add_install_client    rm_install_client&lt;br /&gt;
 &lt;br /&gt;
 Alternately, you can mount up the directories manually. For example: &lt;br /&gt;
 &lt;br /&gt;
 # mount -F nfs -o ro dhcp-ublm02-228-227:/cdrom /mnt&lt;br /&gt;
 # mount -F nfs -o ro dhcp-ublm02-228-227:/cdrom/sol_9_x86/s0 /mnt/sol_9_x86/s0&lt;br /&gt;
 # mount -F nfs -o ro dhcp-ublm02-228-227:/cdrom/sol_9_x86/s2 /mnt/sol_9_x86/s2&lt;br /&gt;
 &lt;br /&gt;
 All 3 mounts are needed as we have 3 separate filesystems and NFS&lt;br /&gt;
 doesn't span filesystems.&lt;br /&gt;
 &lt;br /&gt;
 Now run your &amp;quot;setup_install_server&amp;quot; script. &lt;br /&gt;
 &lt;br /&gt;
 # ./setup_install_server /export/install/sol_9_x86&lt;br /&gt;
 Verifying target directory...&lt;br /&gt;
 Calculating the required disk space for the Solaris_9 product&lt;br /&gt;
 Calculating space required for the installation boot image&lt;br /&gt;
 Copying the CD image to disk...&lt;br /&gt;
 Copying Install Boot Image hierarchy...&lt;br /&gt;
 Install Server setup complete&lt;br /&gt;
&lt;br /&gt;
 You can either install the CDROM 2 of 2 through this method or drop it&lt;br /&gt;
 in locally as it is in the hsfs format.&lt;br /&gt;
&lt;br /&gt;
There are lots of ways that this can be done outside of this particular&lt;br /&gt;
method. Your mileage may vary.&lt;br /&gt;
&lt;br /&gt;
==== ARP/RARP Timeouts ====&lt;br /&gt;
&lt;br /&gt;
When building a server, you can get the ethernet address from the Open Boot Prom 'banner' command at the 'ok' prompt. By default, this ethernet address is shared between all the ethernet interfaces of the host, so performing a JumpStart off an ethernet interface other than the default alias 'net' proceeds as normal.&lt;br /&gt;
&lt;br /&gt;
When using IPMP or Sun Cluster 3, the value of the Open Boot Prom 'local-mac-address' option is set to true which in turn means that every ethernet interface uses it's own ethernet address, and not the hardcoded one in the Open Boot Prom.&lt;br /&gt;
&lt;br /&gt;
On subsequent re-build attempts over the onboard default 'net' interface, everything is ok; however, if you are building over a different device to 'net' the ethernet address may not match the one you originally used in your template.&lt;br /&gt;
&lt;br /&gt;
As the JumpStart server /etc/ethers files does not match this new ethernet address, it is unable to reply to the booting machine, hence the extended period of ARP/RARP timeouts.&lt;br /&gt;
&lt;br /&gt;
To locate mac addresses for different adapters when local-mac-address? is set to true, you can do the following:&lt;br /&gt;
&lt;br /&gt;
    * At the OBP prompt, do a 'show-nets' to list the network adapters available&lt;br /&gt;
    * Select the adapter&lt;br /&gt;
    * cd &amp;lt;ctrl+y&amp;gt;&lt;br /&gt;
    * .properties&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== System hangs at a # prompt ====&lt;br /&gt;
&lt;br /&gt;
If 'diag-switch?' is set to true in OBP, the system will hang at the '#' prompt prior to rebooting, just after Solaris has installed.&lt;br /&gt;
&lt;br /&gt;
This seems to happen on all types of hosts from V100's through to F15Ks. You need to use the appropriate commands to change the obp setting depending on your platform.&lt;br /&gt;
&lt;br /&gt;
==== Forcing Speed/Duplex during JumpStart ====&lt;br /&gt;
&lt;br /&gt;
You really should just use Auto-negotiation on switches; it works these days and is reliable.&lt;br /&gt;
&lt;br /&gt;
Turning autonegotiation off and setting speed/mode manually is called&lt;br /&gt;
&amp;quot;forced mode&amp;quot;.&lt;br /&gt;
For the Sun[TM] GigaSwift on-board interfaces and Network Interface Cards&lt;br /&gt;
(ce), and for bge on-board interfaces, boot in &amp;quot;forced mode&amp;quot; is possible.&lt;br /&gt;
&lt;br /&gt;
In jumpstart &amp;quot;boot net&amp;quot;, 3 steps are involved.&lt;br /&gt;
The driver must be forced in all 3 steps of the jumpstart boot process.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1st Step: force the interface on boot prom for booting&lt;br /&gt;
&lt;br /&gt;
 ok boot /pci@1f,2000/pci@1/network@0:speed=100,duplex=full,&lt;br /&gt;
        or&lt;br /&gt;
 ok devalias net /pci@1f,2000/pci@1/network@0:speed=100,duplex=full,&lt;br /&gt;
 ok boot net&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2nd Step: inetboot is loaded.&lt;br /&gt;
&lt;br /&gt;
 An inetboot file on the boot server which honours the &amp;quot;forced&amp;quot; ce setting is needed. &lt;br /&gt;
 This is included in Solaris 8 Patch-ID# 111306-05 , for Solaris 9, it's&lt;br /&gt;
 Patch-ID# 113578-01 .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3rd Step: client uses the OS from the file system of the boot server&lt;br /&gt;
&lt;br /&gt;
 create a&lt;br /&gt;
 ../Boot/platform/sun4u/kernel/drv/ce.conf  or&lt;br /&gt;
 ../Boot/platform/sun4u/kernel/drv/bge.conf&lt;br /&gt;
 (the same directory, in which the ce 32 bit driver sits, one single line,&lt;br /&gt;
 example for 100 FDX):&lt;br /&gt;
 &lt;br /&gt;
 adv_autoneg_cap=0 adv_1000fdx_cap=0 adv_1000hdx_cap=0 adv_100fdx_cap=1 &lt;br /&gt;
 adv_100hdx_cap=0 adv_10fdx_cap=0 adv_10hdx_cap=0;&lt;br /&gt;
&lt;br /&gt;
==== JumpStart &amp;amp; JET logs ====&lt;br /&gt;
&lt;br /&gt;
JumpStart saves a log of the output from the system install in the file /var/sadm/system/logs/finish.log. The bad news, is that only covers the log output up to the reboot at the end of the initial install.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
JET includes post-reboot processing in most cases, so the complete JET log (a superset of the JumpStart log) can be found at /var/opt/sun/jet/jumpstart_install.log. There is also a link to the system log called finish.log in the same directory.&lt;br /&gt;
&lt;br /&gt;
The JET log will include the system finish log output and also any output from JET processing at subsequent reboots.&lt;br /&gt;
&lt;br /&gt;
==== Solaris 10, SSH doesn't start ====&lt;br /&gt;
&lt;br /&gt;
When JumpStart'ing Solaris 10 GA (and maybe some of the updates), the ssh software is installed but the daemon doesn't start; 'svcs -a' reporting it in a maintenance state.&lt;br /&gt;
&lt;br /&gt;
The root cause is that the ssh host key is not created for some reason, so you need to execute the following commands:&lt;br /&gt;
&lt;br /&gt;
 /lib/svc/method/sshd -c&lt;br /&gt;
 /usr/sbin/svcadm clear network/ssh&lt;br /&gt;
&lt;br /&gt;
In JET, you could put the commands into a script in /opt/jet/Clients/common.files/fixup-ssh and then use custom_scripts=&amp;quot;fixup-ssh&amp;quot; to get JET to fix the problem for you.&lt;br /&gt;
&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 #&lt;br /&gt;
 # Fix Up SSH on Solaris 10&lt;br /&gt;
 #&lt;br /&gt;
 if [ ! -f /etc/ssh/ssh_host_rsa_key -o ! -f /etc/ssh/ssh_host_dsa_key ]; then&lt;br /&gt;
        /lib/svc/method/sshd -c &lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 /usr/sbin/svcadm clear network/ssh&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== TFTP Problems While Booting ====&lt;br /&gt;
&lt;br /&gt;
A number of people have come across problems with TFTP; specifically TFTP failing during (or sometimes at the start of) a transfer.&lt;br /&gt;
&lt;br /&gt;
TFTP is the 'Trivial File Transfer Protocol' and as such has some simple limitations. One such, is that the original protocol allows up to 65,536 blocks to be transferred; each block defaulting to 512 bytes -&amp;gt; 32Mb limit.&lt;br /&gt;
&lt;br /&gt;
Some implementations allow the block size to be increased, others allow the block counter to roll-over; 65,536 == 0 again.&lt;br /&gt;
&lt;br /&gt;
Sun changed their in.tfptd implementation between Solaris 8 and 9, and from tests, it seems they have added the 'change block size' code. Tests on Solaris 9 and 10 indicate that the Sun in.tftpd server still stops at block 65,536 though.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Solaris 10 Update 1 for x86/64 has a new boot mechanism, and the file to be downloaded via TFTP is 48Mb or so. If you are using a Solaris 8 JumpStart server, then you are going to hit trouble. Either move to Solaris 9 or you could try and take the in.tftpd binary from a Solaris 9 client.If things still don't work, then you could go off and google for a replacement tftpd server; http://www.kernel.org/pub/software/network/tftp/ has done the trick for me in the past, and doesn't need much to convince it to compile under Solaris.&lt;br /&gt;
&lt;br /&gt;
==== Solaris 10 Update 1 and Flash archive problems ====&lt;br /&gt;
&lt;br /&gt;
When deploying a flash archive taken from a Solaris 10 Update 1 install, the initial flash completes, but subsequent JET processing stops after the first reboot.&lt;br /&gt;
&lt;br /&gt;
When you build a system using flash on Solaris 10, the smf(1m) database gets stored as part of the flash archive. Under Solaris 10 GA/FCS, the smf(1m) database entries were keyed using the manifest inode number (amongst other things), so when you redeployed the flash, the inode numbers changed and smf(1m) re-scanned the manifest files.&lt;br /&gt;
&lt;br /&gt;
Under Solaris 10 Update 1, Sun have removed the inode time from the database key, so it doesn't rebuild the database as it used to.&lt;br /&gt;
&lt;br /&gt;
If you built the original system using JET, the jetjump.xml file is still 'known about' by the smf(1m) database, so when you come to deploy the flash archive using JET, smf(1m) happily ignores the newly deposited jetjump.xml file.&lt;br /&gt;
&lt;br /&gt;
Officially, this is a bug/feature introduced in Solaris 10 Update 1 (BugID 6251841). The version of JET about to be released has a work around for this situation, so it will go away.&lt;br /&gt;
&lt;br /&gt;
The work around for now, is to do the following *before* creating the flash archive:&lt;br /&gt;
&lt;br /&gt;
 # svccfg -s smf/manifest delpg var_svc_manifest_site_jetjump_xml&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This 'feature' is also present in Nevada builds (Solaris Express / Solaris 11).&lt;br /&gt;
&lt;br /&gt;
==== I am warned about missing patches, but cannot add ====&lt;br /&gt;
&lt;br /&gt;
If you get the warning&lt;br /&gt;
&lt;br /&gt;
 WARNING: Patch 119375-11 has not been applied to the boot image.&lt;br /&gt;
&lt;br /&gt;
And then run the patchadd -C command as instructed, only to be told the patch is already present,&lt;br /&gt;
&lt;br /&gt;
This may be because patchadd was broken in Solaris 10 (03/05) and failed to check correctly. This has been fixed with later versions/patches.&lt;br /&gt;
&lt;br /&gt;
Alternatively if you are using Solaris 10 01/06 or later there is an issue that patchadd cannot check the mini-root.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As it is only a WARNING, it will not cause make_client to fail. If make_client fails, look back to identify earlier FAIL messages.&lt;br /&gt;
&lt;br /&gt;
A future release of JET may well bypass this error&lt;br /&gt;
&lt;br /&gt;
=== Bug / Problem Reporting ===&lt;br /&gt;
&lt;br /&gt;
==== Having Problems with JET and need help ? ====&lt;br /&gt;
&lt;br /&gt;
If you post a question here that concerns a specific problem you are seeing with JET, then please include the template and the output from /var/opt/sun/jet/jumpstart_install.log - or at the very least, say you have that information and be prepared to send it on to who ever elects to try to help you. &lt;br /&gt;
&lt;br /&gt;
==== Reporting a Bug ====&lt;br /&gt;
&lt;br /&gt;
Think you've found a bug in JET ? If so, first up check it is a bug by asking the appropriate question on this website or send your theory and reasoning to jet@sun.com.&lt;br /&gt;
&lt;br /&gt;
JET 'evolved' over about 5+ years, so the chance of someone making a mistake in the scripting is not beyond possibility! It could however be something JET was not designed for in which case it's an RFE - Request For Enhancement.&lt;br /&gt;
&lt;br /&gt;
==== Request For Enhancements (RFEs) ====&lt;br /&gt;
&lt;br /&gt;
If you discover something you want changed in JET, then it normally falls into two categories:&lt;br /&gt;
&lt;br /&gt;
    Implement it in a module&lt;br /&gt;
&lt;br /&gt;
        Support for non-core features or additional configuration work can be easily delivered through a new JET module. This way, the main code base stays unaffected for the vast majority of people who use it, and the module can evolve as the authors see fit.&lt;br /&gt;
&lt;br /&gt;
    Submit the change as an RFE&lt;br /&gt;
&lt;br /&gt;
        If the feature needs to go into the main JET package or one of the pre-supplied modules and can not be delivered as a module, then you need to discuss the matter with the JET folks at Sun (jet@sun.com) and work on drafting an RFE. Depending on how much they agree with your suggestion and how much time they have, the actual change could be made quickly or could take months - such is the nature of change.&lt;/div&gt;</summary>
		<author><name>Marty</name></author>
	</entry>
	<entry>
		<id>https://jet.maui.co.uk/wiki/index.php?title=FAQ&amp;diff=1360</id>
		<title>FAQ</title>
		<link rel="alternate" type="text/html" href="https://jet.maui.co.uk/wiki/index.php?title=FAQ&amp;diff=1360"/>
		<updated>2007-09-03T14:01:24Z</updated>

		<summary type="html">&lt;p&gt;Marty: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Faq]]&lt;/div&gt;</summary>
		<author><name>Marty</name></author>
	</entry>
	<entry>
		<id>https://jet.maui.co.uk/wiki/index.php?title=Main_Page&amp;diff=1359</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://jet.maui.co.uk/wiki/index.php?title=Main_Page&amp;diff=1359"/>
		<updated>2007-09-03T14:00:22Z</updated>

		<summary type="html">&lt;p&gt;Marty: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOEDITSECTION__ __NOTOC__&lt;br /&gt;
== News ==&lt;br /&gt;
[[Image:Jumpstart_title.gif|Jumpstart_title.gif|frame|]]&lt;br /&gt;
&amp;lt;rss&amp;gt;http://jet.maui.co.uk/blog/?feed=rss2&amp;amp;category_name=News|title=none|max=5&amp;lt;/rss&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== JET Resources ==&lt;br /&gt;
&lt;br /&gt;
* [[Documents|JET Documents]]&lt;br /&gt;
* [[Resources|JET Resources]]&lt;br /&gt;
* [[Faq|JET FAQ]]&lt;br /&gt;
&lt;br /&gt;
If you wish to contribute to the JET Resources community, please contact us and ask for access to the Wiki.&lt;br /&gt;
&lt;br /&gt;
== About JET ==&lt;br /&gt;
&lt;br /&gt;
=== What Is the JumpStart Enterprise Toolkit ? ===&lt;br /&gt;
&lt;br /&gt;
The JumpStart Enterprise Toolkit is the name given to the Sun Microsystems JumpStart Framework, developed by Sun in the UK. The toolkit is part of the N1 SPS suite and is available as a seperate download from [http://onesearch.sun.com/search/onesearch/index.jsp?col=downloads-products&amp;amp;qt=JumpStart+Enterprise+Toolkit Sun Download Centre]&lt;br /&gt;
&lt;br /&gt;
=== JumpStart Information ===&lt;br /&gt;
&lt;br /&gt;
There are many benefits to using a framework to extend the functionality of JumpStart, for example:&lt;br /&gt;
&lt;br /&gt;
* improve the consistency of system installs&lt;br /&gt;
* faster implementation of projects&lt;br /&gt;
* improve build quality of the installations&lt;br /&gt;
* embed company best practices &lt;br /&gt;
&lt;br /&gt;
The toolkit is aimed at providing basic OS installations along with frequently used/requested addtional product installation, and minimal configuration.&lt;/div&gt;</summary>
		<author><name>Marty</name></author>
	</entry>
	<entry>
		<id>https://jet.maui.co.uk/wiki/index.php?title=MediaWiki:Sidebar&amp;diff=1358</id>
		<title>MediaWiki:Sidebar</title>
		<link rel="alternate" type="text/html" href="https://jet.maui.co.uk/wiki/index.php?title=MediaWiki:Sidebar&amp;diff=1358"/>
		<updated>2007-09-03T13:59:24Z</updated>

		<summary type="html">&lt;p&gt;Marty: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* navigation&lt;br /&gt;
** http://jet.maui.co.uk|JET Home &lt;br /&gt;
** http://jet.maui.co.uk/blog|News&lt;br /&gt;
** Faq|Faq&lt;br /&gt;
** documents|Documents&lt;br /&gt;
** resources|Resources&lt;br /&gt;
** recentchanges-url|recentchanges&lt;br /&gt;
** randompage-url|randompage&lt;/div&gt;</summary>
		<author><name>Marty</name></author>
	</entry>
	<entry>
		<id>https://jet.maui.co.uk/wiki/index.php?title=MediaWiki:Sidebar&amp;diff=1357</id>
		<title>MediaWiki:Sidebar</title>
		<link rel="alternate" type="text/html" href="https://jet.maui.co.uk/wiki/index.php?title=MediaWiki:Sidebar&amp;diff=1357"/>
		<updated>2007-09-03T13:58:38Z</updated>

		<summary type="html">&lt;p&gt;Marty: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* navigation&lt;br /&gt;
** http://jet.maui.co.uk|JET Home &lt;br /&gt;
** http://jet.maui.co.uk/blog|News&lt;br /&gt;
** FAQ|Faq&lt;br /&gt;
** documents|Documents&lt;br /&gt;
** resources|Resources&lt;br /&gt;
** recentchanges-url|recentchanges&lt;br /&gt;
** randompage-url|randompage&lt;/div&gt;</summary>
		<author><name>Marty</name></author>
	</entry>
	<entry>
		<id>https://jet.maui.co.uk/wiki/index.php?title=MediaWiki:Sidebar&amp;diff=1356</id>
		<title>MediaWiki:Sidebar</title>
		<link rel="alternate" type="text/html" href="https://jet.maui.co.uk/wiki/index.php?title=MediaWiki:Sidebar&amp;diff=1356"/>
		<updated>2007-09-03T13:58:04Z</updated>

		<summary type="html">&lt;p&gt;Marty: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* navigation&lt;br /&gt;
** http://jet.maui.co.uk|JET Home &lt;br /&gt;
** http://jet.maui.co.uk/blog|News&lt;br /&gt;
** Faq|FAQ &lt;br /&gt;
** documents|Documents&lt;br /&gt;
** resources|Resources&lt;br /&gt;
** recentchanges-url|recentchanges&lt;br /&gt;
** randompage-url|randompage&lt;/div&gt;</summary>
		<author><name>Marty</name></author>
	</entry>
	<entry>
		<id>https://jet.maui.co.uk/wiki/index.php?title=Faq&amp;diff=1355</id>
		<title>Faq</title>
		<link rel="alternate" type="text/html" href="https://jet.maui.co.uk/wiki/index.php?title=Faq&amp;diff=1355"/>
		<updated>2007-09-03T13:47:42Z</updated>

		<summary type="html">&lt;p&gt;Marty: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Frequently Asked Questions ==&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
&lt;br /&gt;
==== What are these '.pkg'/'pkg.bz2' files ? ====&lt;br /&gt;
&lt;br /&gt;
&amp;quot;I've just downloaded the packages from the website, and now have files with a .pkg suffix. What do I do next ?&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The files you have are datastream packages. To install them, run&lt;br /&gt;
&lt;br /&gt;
      pkgadd -d filename.pkg&lt;br /&gt;
&lt;br /&gt;
rather than the more usual pkgadd -d . [pkgname]&lt;br /&gt;
&lt;br /&gt;
You can migrate the datastream format packages to regular directory based packages by using the pkgtrans(1m) command.&lt;br /&gt;
&lt;br /&gt;
      pkgtrans filename.pkg . all&lt;br /&gt;
&lt;br /&gt;
Basically, read up on pkgadd(1m) and pkgtrans(1m) !&lt;br /&gt;
&lt;br /&gt;
==== A GUI Frontend for JET ====&lt;br /&gt;
&lt;br /&gt;
Is there a Web Front End for JET ?&lt;br /&gt;
&lt;br /&gt;
Probably the most frequently requested feature. The short answer is 'no, there is no generic web front end for JET'.&lt;br /&gt;
&lt;br /&gt;
The long answer is that typically, web front ends are written to expose a subset of the features available in JET. For the case of 'standard builds', you may wish to have a pull down list of available builds and just plug in the MAC and IP addresses etc.&lt;br /&gt;
&lt;br /&gt;
As these front ends, with only a subset of features presented, are very much customised for a particular use/customer, it's work you need to do!&lt;br /&gt;
&lt;br /&gt;
If a 'generic web front end' was provided, it would need to be kept up to date with every modification to the toolkit. Quite frankly, it isn't going to be that useful to many people.&lt;br /&gt;
&lt;br /&gt;
JET has been designed so it is pretty easy to front end yourself.&lt;br /&gt;
&lt;br /&gt;
==== Getting Help with JET ====&lt;br /&gt;
&lt;br /&gt;
There are a number of places you can go for help with JET; first up is obviously Sun themselves - Email the people who look after JET on the alias jet@sun.com and someone should get back to you pretty quickly (UK Timezone).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sun have also put up information on the JET BigAdmin page at http://www.sun.com/bigadmin/content/jet/ and Mike Ramchand (one of the authors) tends to write things about JET in his blog at http://blogs.sun.com/roller/page/mramcha/20050826&lt;br /&gt;
&lt;br /&gt;
External to Sun are a number of resources; there is a Yahoo group at http://groups.yahoo.com/group/JETJumpStart/ and of course, you can approach me (marty at Maui-Systems dot co dot uk) as the other author of the toolkit from when I used to work for Sun.&lt;br /&gt;
&lt;br /&gt;
==== Whats in the Free Bundle ? ====&lt;br /&gt;
&lt;br /&gt;
The JET bundle downloadable from http;//www.sun.com/downloads currently (as of May 2006) contains the following modules.&lt;br /&gt;
&lt;br /&gt;
    * SUNWjet - The core JET product&lt;br /&gt;
    * SUNWjetd - The documentation - Please read&lt;br /&gt;
    * JetSDS - Configure SVM/SDS&lt;br /&gt;
    * JetVTS - Install the Test Suite&lt;br /&gt;
    * JetEXPLO - Install and configure Explorer&lt;br /&gt;
    * JetFLASH - Utilise flash archives for installation&lt;br /&gt;
    * JetSAN - Configure SANs&lt;br /&gt;
    * JetJASS - JASS toolkit install and configuration&lt;br /&gt;
    * JetZONES - Add local zones to your Solaris 10 global zones as part of the build&lt;br /&gt;
    * JetWanBoot - Plugin to allow JET to perform WANBOOTt installations&lt;br /&gt;
    * JetRBAC - Enables none root users to run JET using RBAC&lt;br /&gt;
&lt;br /&gt;
Sun releases/refreshes the bundle on an ad-hoc basis and normally communicates this fact to the comp.unix.solaris and alt.solaris.x86 newsgroups.&lt;br /&gt;
&lt;br /&gt;
==== Solaris 10 U1 (01/06) grub/newboot ====&lt;br /&gt;
&lt;br /&gt;
With the release of Solaris 10 Update 1 (01/06), the x86/64 platform boot method was transitioned to 'grub', finally doing away with the old DCA pre-boot environment. This new boot method was refered to as &amp;quot;newboot&amp;quot; internally to Sun and the phrase seems to have stuck.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To deal with this a JetNEWBOOT module was developed to &amp;quot;plugin&amp;quot; to JET versions prior to JET 4.2 to support this new boot environment. When JET 4.2 is released, the 'grub' installation method will be part of the core JET product.&lt;br /&gt;
&lt;br /&gt;
When using JetNEWBOOT, all you need to amend in your template is the&lt;br /&gt;
&lt;br /&gt;
    * base_config_allocation_method=&amp;quot;newboot&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As a guide to what to use:&lt;br /&gt;
&lt;br /&gt;
    * With Solaris 10 GA (03/05)&lt;br /&gt;
          o base_config_allocation_method=&amp;quot;dhcp&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    * With Solaris 10 Update 1 (01/06) and above, JET (&amp;lt; 4.2) and JetNEWBOOT&lt;br /&gt;
          o base_config_allocation_method=&amp;quot;newboot&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    * With Solaris 10 Update 1 (01/06) and above, JET (&amp;gt;= 4.2)&lt;br /&gt;
          o base_config_allocation_method=&amp;quot;grub&amp;quot;&lt;br /&gt;
&lt;br /&gt;
JetNEWBOOT is now part of the downloadable bundle from Sun but will not be required once JET 4.2 is released.&lt;br /&gt;
&lt;br /&gt;
==== Using 'iso' images instead of CD/DVDs ====&lt;br /&gt;
&lt;br /&gt;
The following was derived from information at http://www.unix.com/showthread.php?t=18074&lt;br /&gt;
&lt;br /&gt;
When using Solaris ISO images, the start of the image contains a hsfs (high sierra filesystem) with a couple of ufs filesystems appended to the end of it.&lt;br /&gt;
&lt;br /&gt;
The problem, is that using lofiadm, only the hsfs image is spotted and made available; the ufs filesystems are not seen, so you end up with broken links to 's1' and the like.&lt;br /&gt;
&lt;br /&gt;
To set up a JumpStart server using Solaris ISO images, you must have access to both slice 0 and slice 1 on the image.&lt;br /&gt;
&lt;br /&gt;
To fix the problem, split the contents of slice 1 into it's own image file and then mount this image separately using lofi.&lt;br /&gt;
&lt;br /&gt;
The following procedure describes how to do this.&lt;br /&gt;
Code:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# ls -l sol-9*&lt;br /&gt;
-rw-r--r-- 1 root root 576364544 Jan 1 11:16 sol-9-u1-sparc-v1.iso&lt;br /&gt;
-rw-r--r-- 1 root root 291962880 Jan 1 21:42 sol-9-u1-sparc-v2.iso&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This only applies to CD 1, all other isos can be mounted using lofiadm in the normal way.&lt;br /&gt;
&lt;br /&gt;
(1) Get a copy of the VTOC from the ISO image:&lt;br /&gt;
Code:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# dd if=sol-9-u1-sparc-v1.iso of=vtoc bs=512 count=1&lt;br /&gt;
&lt;br /&gt;
1+0 records in&lt;br /&gt;
1+0 records out&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(2) Now find out where Slice 1 starts in the image and how long it is. The starting cylinder for slice 1 is located at offset 452 (decimal) into the VTOC; the length in blocks is at offset 456, with both being 4 bytes long.&lt;br /&gt;
Code:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# od -D -j 452 -N 8 &amp;lt; vtoc&lt;br /&gt;
0000000 0000000888 0000546560&lt;br /&gt;
0000010&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Slice 1 starts on cylinder 888, and is 546,560 blocks long. CD for the Solaris OS always have 640 blocks per cylinder, so you can find the starting block of slice 1 as follows:&lt;br /&gt;
Code:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# echo 888*640 | bc&lt;br /&gt;
568320&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
So now you know s1 starts at block 568320 and is 546560 blocks long.&lt;br /&gt;
&lt;br /&gt;
(3) Copy slice one into a separate file:&lt;br /&gt;
Code:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# dd if=sol-9-u1-sparc-v1.iso of=sol-9-u1-sparc-v1-s1.iso bs=512 skip=568320 count=546560&lt;br /&gt;
&lt;br /&gt;
546560+0 records in&lt;br /&gt;
546560+0 records out&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(4) Mount both slice 0 and slice 1 as follows:&lt;br /&gt;
Code:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# mkdir /cd&lt;br /&gt;
# mkdir /cd/s0&lt;br /&gt;
# mkdir /cd/s1&lt;br /&gt;
# lofiadm -a /path_to/sol-9-u1-sparc-v1.iso&lt;br /&gt;
/dev/lofi/1&lt;br /&gt;
# lofiadm -a /path_to/sol-9-u1-sparc-v1-s1.iso&lt;br /&gt;
/dev/lofi/2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
When you mount slice 1, remember that it is a UFS partition, not HSFS as is usual on a CD-ROM:&lt;br /&gt;
Code:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# mount -F hsfs -o ro /dev/lofi/1 /cd/s0&lt;br /&gt;
# mount -F ufs -o ro /dev/lofi/2 /cd/s1&lt;br /&gt;
# cd /cd/s0/Solaris_9/Tools/&lt;br /&gt;
# ./setup_install_server /destination_dir&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== How To Upgrade JET ====&lt;br /&gt;
&lt;br /&gt;
Upgrading JET is normally as easy as&lt;br /&gt;
&lt;br /&gt;
    * pkgrm SUNWjet&lt;br /&gt;
    * pkgadd -d . SUNWjet&lt;br /&gt;
&lt;br /&gt;
The JET packages were designed so that they don't remove your configs, templates or other 'configuration' settings when removed. However, if you hack the JET scripts etc, then this will remove your customisations - hence the reason hacking JET is frowned upon and you are recommended to look at writing your own modules instead.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
However, if you are upgrading from JET 3.x to 4.x, then you need to do some additional work. The following was taken from Mike's Sun blog&lt;br /&gt;
&lt;br /&gt;
    Things might be a little trickier if you've already got JET 3.7.3 installed, and you want to keep you existing templates etc. The easiest way to accomplish this is to pkgrm all your existing JET packages. (SUNWjet, and all the packages that start with JET), and then&lt;br /&gt;
&lt;br /&gt;
        mv /opt/jet /opt/SUNWjet&lt;br /&gt;
&lt;br /&gt;
    Finally install the new JET packages.If you've created you own custom modules or scripts, you may need to check them to ensure you haven't hard-coded any /opt/jet paths in them.&lt;br /&gt;
&lt;br /&gt;
The extra bits are&lt;br /&gt;
&lt;br /&gt;
    * remember to update your .profile with the new path (/opt/SUNWjet/bin)&lt;br /&gt;
    * if you have any existing clients, you will need to re-run 'make_client' on them, as /etc/bootparams and/or dhcp macro table will have the directory /opt/jet mentioned as the config directory, rather than the new /opt/SUNWjet&lt;br /&gt;
&lt;br /&gt;
==== How to set up JET as a PXE (DHCP) Server ====&lt;br /&gt;
&lt;br /&gt;
The easiest way of setting up JET to serve up PXE boot clients (or other DHCP clients) is to copy, edit and then run the &amp;quot;helper script&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
cp /opt/SUNWjet/Products/base_config/solaris/make_dhcp /var/tmp&lt;br /&gt;
&lt;br /&gt;
edit it to suit your network&lt;br /&gt;
ie&lt;br /&gt;
&lt;br /&gt;
    NETWORK=10.1.1.0&lt;br /&gt;
&lt;br /&gt;
    NETMASK=255.255.255.0&lt;br /&gt;
&lt;br /&gt;
    ROUTER=10.1.1.1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    dhcpconfig -D -r SUNWfiles -p /var/tmp&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    dhcpconfig -N ${NETWORK} -m ${NETMASK} -t ${ROUTER}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Then run it, /var/tmp/make_dhcp&lt;br /&gt;
&lt;br /&gt;
JET will now &amp;quot;do the right thing&amp;quot; based on the allocation method in your template.&lt;br /&gt;
&lt;br /&gt;
==== I noticed alot of docs for jumpstart setup for solaris8,9 I dont see one for solaris10. Why isnt there one for 10? i am interesting in setting up jumpstart for upgrades and clean install. is is safe to do jumpstart straioght from sol7 to sol10? ====&lt;br /&gt;
&lt;br /&gt;
JET was originally developed in the era of Solaris 7, 8 and 9. As such whatever documentation there is, normally uses one of those in examples.&lt;br /&gt;
&lt;br /&gt;
JET works fine with Solaris 10, and unless anything specific is said, it works in the same fashion with 10 (and indeed 11) in the same fashion as previous versions of Solaris.&lt;br /&gt;
&lt;br /&gt;
JET doesn't deal with upgrades at all; if you want to upgrade using JumpStart, then you need to hand-craft something - there are too many risks for JET to be able to claim to work properly in every situation, so it doesn't claim to do upgrades at all.&lt;br /&gt;
&lt;br /&gt;
=== Configuration ===&lt;br /&gt;
&lt;br /&gt;
==== JET and Boot Servers ====&lt;br /&gt;
&lt;br /&gt;
Initially, JET was not designed to use the JumpStart Boot Server concepts. There are some internal to Sun modules that are known to extend JET to include Boot Server support and also do so much more for distributed JET environments.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If this is a requirement for you, contact Sun (jet@sun.com) and try to get them involved. If what they have already doesn't fit, it's probably easy for them to adjust it!&lt;br /&gt;
&lt;br /&gt;
==== Disksuite Soft Partitions ====&lt;br /&gt;
&lt;br /&gt;
The easiest way is to create an md.tab file&lt;br /&gt;
and put it under /opt/jet/Clients/clientname&lt;br /&gt;
&lt;br /&gt;
The format of the md.tab should be something like:&lt;br /&gt;
&lt;br /&gt;
    d50 -p d40 100m&lt;br /&gt;
    d40 -m d41&lt;br /&gt;
    d41 1 1 /dev/rdsk/c1t0d0s0&lt;br /&gt;
    d42 1 1 /dev/rdsk/c2t0d0s0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
or for creating a mirrored stripe with softpartitions:&lt;br /&gt;
&lt;br /&gt;
    d70 -p d60 1g&lt;br /&gt;
    d60 -m d61&lt;br /&gt;
    d61 1 2 /dev/rdsk/c1t1d0s0 /dev/rdsk/c1t2d0s0&lt;br /&gt;
    d62 1 2 /dev/rdsk/c2t1d0s0 /dev/rdsk/c2t2d0s0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In addition, the disks used above should all have their vtocs created.&lt;br /&gt;
This is achieved with the following lines from JET base_config:&lt;br /&gt;
&lt;br /&gt;
    base_config_profile_disk_c0t1d0s0_size=&amp;quot;free&amp;quot;&lt;br /&gt;
    base_config_profile_disk_c0t1d0s7_size=&amp;quot;32&amp;quot; (repeat for above disks)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Don't associate any mount points with these partitions.&lt;br /&gt;
&lt;br /&gt;
Finally, to initialise and attach, put in the correct order:&lt;br /&gt;
&lt;br /&gt;
    sds_metadevices_to_init=&amp;quot;d41 d42 d40 d50 d61 d62 d60 d70&amp;quot;&lt;br /&gt;
    sds_metadevices_to_attach=&amp;quot;d40:d42 d60:d62&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
and then add the entries for /etc/vfstab:&lt;br /&gt;
&lt;br /&gt;
    sds_newfs_devices=&amp;quot;/dev/md/rdsk/d50&amp;quot;&lt;br /&gt;
    sds_mount_devices=&amp;quot;/dev/md/dsk/d50:/d50:2:logging&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== Upgrade vs Install ====&lt;br /&gt;
&lt;br /&gt;
JET doesn't do upgrades; you could in theory do it, since JumpStart does support upgrades, but would you really want to ?&lt;br /&gt;
&lt;br /&gt;
Pretty much every system is unique, so just running an 'automated' upgrade on a bunch of systems will produce a mixture of results; in fact, many people, say that you have two real options...&lt;br /&gt;
&lt;br /&gt;
   1. make sure your 'data' is saved, and then do a burn and build. Safest option, as you know exactly what you are going to get; bad side is that you need to know where your data is.&lt;br /&gt;
&lt;br /&gt;
   2. do a manual upgrade; you can still use the network Solaris images, just omit the '- install'; 'boot net' that way, you are in control and don't invoke any errant finish scripts that you may not be expecting.&lt;br /&gt;
&lt;br /&gt;
Hence the reason we don't promote upgrades; there are too many variables; JET is designed for burn and build, since it's origin is from field installations. Not saying it isn't possible, but by the time you get it working, you may have taken less time to do the upgrades by hand!&lt;br /&gt;
&lt;br /&gt;
==== Using SVM to mirror root disks ====&lt;br /&gt;
&lt;br /&gt;
&amp;quot;I have configured a jumpstart server using Sun JET 4.1. I am trying to build a client with ODS (disksuite) to mirror rootdisk. I installed the sds package and did all the configuration bit.  I  have managed to build the client system successfully with all the mirrors and can see the mirror using “metastat –p” command. The only issue is, the system is not showing the metadevices entries in “/etc/vfstab” file and therefore has booted from the normal devices.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
When configuring SVM/SDS for root disks, use the sds_root_mirror setting in the template. It was desgined to 'encapsulate' existing filesystems with SVM metadevices - even if you don't actually have the other device to mirror the root disk to yet.&lt;br /&gt;
&lt;br /&gt;
The sds_metadevices_to_* variables are used to create new metadevices and filesystems - setting things here won't affect your /etc/vfstab for existing filesystems unless you do it yourself.&lt;br /&gt;
&lt;br /&gt;
==== JET and JASS Integration ====&lt;br /&gt;
&lt;br /&gt;
You need to get hold of the JetJASS module, which as far as I know is not part of&lt;br /&gt;
the standard download available at www.sun.com/downloads&lt;br /&gt;
&lt;br /&gt;
If you have JetJASS, then doing a 'make_template -T &amp;lt;client&amp;gt; &amp;lt;client&amp;gt; jass' will&lt;br /&gt;
add the JASS module details to your template. After that, the options are&lt;br /&gt;
pretty self-explanatory - providing you understand JASS that is.&lt;br /&gt;
&lt;br /&gt;
For those who don't have JetJASS, then you need to engage Sun to get hold of it; you can either do that through your local account manager or through the jet@sun.com alias.&lt;br /&gt;
&lt;br /&gt;
==== How does this JetZONES module work ? ====&lt;br /&gt;
&lt;br /&gt;
The philosophy behind the module was to try to treat zones as a normal JET client. In order to do this, you need to :&lt;br /&gt;
&lt;br /&gt;
    *&lt;br /&gt;
&lt;br /&gt;
      Enable JET server to deploy zones. This is achieved by adding JetZONES to the JET server&lt;br /&gt;
    * Add JET support to the 'parent' system. The 'parent' system is the system on which the zones will be created. This is achieved by adding the 'zones' module to the template for the parent.&lt;br /&gt;
    *&lt;br /&gt;
&lt;br /&gt;
      Create a 'zone' definition by using the 'make_zone_template' which gives you a cut down standard Solaris template.&lt;br /&gt;
          o&lt;br /&gt;
&lt;br /&gt;
            zone definitions are not tied to the parent unless specifically referenced in the parent template. By default a zone could be instantiated on any of the possible parents (usual network and resource restrictions obviously apply).&lt;br /&gt;
&lt;br /&gt;
You can manually 'JumpStart' a zone on a parent by running the 'jetzone' command, which will then contact the JET server and hopefully do the right thing.&lt;br /&gt;
&lt;br /&gt;
The obvious caveats, are that very few of the usual modules are zone aware, so you have to be careful with additional jet modules in zone templates.&lt;br /&gt;
&lt;br /&gt;
In summary, the steps are&lt;br /&gt;
&lt;br /&gt;
   1. make_template myclient zones&lt;br /&gt;
   2. (optional) edit the zones section to add the zone names to be used&lt;br /&gt;
   3. make_zone_template &amp;lt;zone&amp;gt;&lt;br /&gt;
   4. make_client &amp;lt;zone&amp;gt;&lt;br /&gt;
   5. make_client &amp;lt;client&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Further comments are within the the zone template&lt;br /&gt;
&lt;br /&gt;
==== Using Jet-4.1, how do I get 'sds' and 'flash' to work together - ie, after applying a flash image, I then want to mirror with the 'sds' module. ====&lt;br /&gt;
&lt;br /&gt;
You use JET exactly as you would do for a normal build; it just&lt;br /&gt;
means that the usual profile information (cluster etc) gets&lt;br /&gt;
ignored and the initial install is done from a flash archive.&lt;br /&gt;
&lt;br /&gt;
make_template -f client1 base_config flash sds&lt;br /&gt;
&lt;br /&gt;
edit as usual, build as usual and the sds stuff will get applied&lt;br /&gt;
after the first reboot, exactly as a normal JET build.&lt;br /&gt;
&lt;br /&gt;
==== Hi, I have read that jumpstart automates the installation of the OS. Is it possible to include the DB and application? ====&lt;br /&gt;
&lt;br /&gt;
Absolutely; if you can script the installation and configuration of the DB and application, then JumpStart and/or JET can happily set things up during the install of Solaris.&lt;br /&gt;
&lt;br /&gt;
Use the resources at http://jet.maui.co.uk/wiki/index.php/Resources for pointers to documentation and email aliases to help if required.&lt;br /&gt;
&lt;br /&gt;
==== How can I add packages after the initial installation and patching? ====&lt;br /&gt;
&lt;br /&gt;
Solaris packages (i.e. the ones that come on the main Solaris CD's) are added using the base_config_add_package / base_config_add_cluster options in the template; these then instruct the Solaris installer to deal with them.&lt;br /&gt;
&lt;br /&gt;
To install other arbitrary packages, patches, files or scripts, look at the 'custom' module that is included in the main SUNWjet package. It has options for custom_packages and custom_patches, along with similar constructs for files and scripts.&lt;br /&gt;
&lt;br /&gt;
Be sure to read the http://jet.maui.co.uk/wiki/index.php/JETPrimer page, as it has an example of using the 'custom' module.&lt;br /&gt;
&lt;br /&gt;
==== Adding Mount Options ====&lt;br /&gt;
&lt;br /&gt;
The base_config_profile_s?_mtpt variables are used to populate the&lt;br /&gt;
client profile. The client profile allows commands such as&lt;br /&gt;
&lt;br /&gt;
filesys c1t4d0s0 1024 /var nosuid&lt;br /&gt;
&lt;br /&gt;
so you should be able to do something like&lt;br /&gt;
&lt;br /&gt;
base_config_profile_s5_mtpt=&amp;quot;/var nosuid&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Just remember the quotes!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== How do I create additional disk/mirrors ====&lt;br /&gt;
&lt;br /&gt;
JET can be used to create additional mirrors by creating the slices in the base_config section&lt;br /&gt;
&lt;br /&gt;
############&lt;br /&gt;
#&lt;br /&gt;
# You can specify additional disks to use/configure here&lt;br /&gt;
#&lt;br /&gt;
# additional_disks is a space separated list of c?t?d? type disk names&lt;br /&gt;
#&lt;br /&gt;
# For each disk listed in additional_disks, a pair of variables of the form&lt;br /&gt;
#&lt;br /&gt;
# base_config_profile_disk_c?t?d?s?_mtpt=&amp;quot;....&amp;quot;&lt;br /&gt;
# base_config_profile_disk_c?t?d?s?_size=&amp;quot;....&amp;quot;&lt;br /&gt;
#&lt;br /&gt;
# should be defined for each slice required on the disk.&lt;br /&gt;
#&lt;br /&gt;
# N.B. DO NOT SET THE BOOT DISK UP HERE !&lt;br /&gt;
#&lt;br /&gt;
base_config_profile_additional_disks=&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
ie:- If you have disks on c3 and c4 you want to mirror to c5 and c6, 1st lay out the partitions&lt;br /&gt;
&lt;br /&gt;
base_config_profile_addtional_disks=&amp;quot;c3t0d0 c4t0d0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
base_config_profile_disk_c3t0d0s0_mtpt=&amp;quot;/export/extra&amp;quot;&lt;br /&gt;
base_config_profile_disk_c3t0d0s0_size=&amp;quot;10240&amp;quot;&lt;br /&gt;
&lt;br /&gt;
base_config_profile_disk_c4t0d0s3_mtpt=&amp;quot;/export/extra2&amp;quot;&lt;br /&gt;
base_config_profile_disk_c4t0d0s3_size=&amp;quot;10240&amp;quot;&lt;br /&gt;
&lt;br /&gt;
etc etc&lt;br /&gt;
&lt;br /&gt;
And then use the &amp;quot;simple mirrors&amp;quot; bit of the sds template&lt;br /&gt;
############&lt;br /&gt;
#&lt;br /&gt;
# You can also describe other simple mirrors - these only work if you define&lt;br /&gt;
# the partitions in the base_config_profile_disk_ variables&lt;br /&gt;
#&lt;br /&gt;
# The format of this variable is a space separated list of source=target,&lt;br /&gt;
# i.e. c0t1d0=c1t1d0 where the source is the primary&lt;br /&gt;
#&lt;br /&gt;
sds_simple_mirrors=&amp;quot;c3t0d0=c5t0d0 c4t0d0=c6t0d0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Anything more complicated can be achived by creating a md.tab and supplying it to the build (via the SDS module), as there was/is no point in re-inventing the wheel.&lt;br /&gt;
&lt;br /&gt;
==== JetZONES and other modules - an anomoly ====&lt;br /&gt;
&lt;br /&gt;
JetZONES will work with other modules as normal, except you will see error messages about being unable to locate packages (see below)&lt;br /&gt;
&lt;br /&gt;
This is because the zones module is intended to be architecture neutral and you will see the base_config_ClientArch= is set to &amp;quot;zone&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
After a heavy dig around the code, the only work around would be to change JET core, and that is just not going to happen.&lt;br /&gt;
&lt;br /&gt;
So, it is a case of &amp;quot;BE AWARE&amp;quot; that errors similar to below will appear when you run make_client against the zone template.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Although it says &amp;quot;FAILED&amp;quot; it will still have made the /opt/SUNWjet/Clients/&amp;lt;client&amp;gt; dir&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
An example below shows the build still worked&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
---8&amp;lt; make_client output&lt;br /&gt;
&lt;br /&gt;
checking product base_config/solariszone&lt;br /&gt;
Checking product custom&lt;br /&gt;
WARNING: CUSTOM: Unable to locate custom package SFWmozilla&lt;br /&gt;
--------------------------------------------------------------&lt;br /&gt;
Check of client b1-zone1 &lt;br /&gt;
 &lt;br /&gt;
#######                                                   ###&lt;br /&gt;
#          ##       #    #       ######  #####            ###&lt;br /&gt;
#         #  #      #    #       #       #    #           ###&lt;br /&gt;
#####    #    #     #    #       #####   #    #            #&lt;br /&gt;
#        ######     #    #       #       #    #&lt;br /&gt;
#        #    #     #    #       #       #    #           ###&lt;br /&gt;
#        #    #     #    ######  ######  #####            ###&lt;br /&gt;
&lt;br /&gt;
---8&amp;lt;&lt;br /&gt;
&lt;br /&gt;
---8&amp;lt; jumpstart.log output&lt;br /&gt;
CUSTOM: Installing custom....&lt;br /&gt;
CUSTOM: Installing SFWmozilla from: //var/opt/sun/jet/js_media/pkg/custom/i386&lt;br /&gt;
&lt;br /&gt;
Installation of SFWmozilla was successful.&lt;br /&gt;
CUSTOM: SFWmozilla installation complete&lt;br /&gt;
CUSTOM: Register postinstall script 'postinstall' for boot n&lt;br /&gt;
----------------------------------------------------------&lt;br /&gt;
Product modules processed, finish up installation tasks&lt;br /&gt;
Creating directory: /var/opt/sun/jet/system.add/updated&lt;br /&gt;
Copying file etc/jumpstart.conf to //var/opt/sun/jet/config/jumpstart.conf&lt;br /&gt;
Copying file Utils/smf/jetjump.xml to //var/svc/manifest/site/jetjump.xml&lt;br /&gt;
Copying file Utils/S99jumpstart to //var/opt/sun/jet/post_install/S99jumpstart&lt;br /&gt;
NFS Unmounting Media Directories&lt;br /&gt;
Unmounting /var/opt/sun/jet/js_media/pkg&lt;br /&gt;
:q&lt;br /&gt;
# uname -a&lt;br /&gt;
SunOS b1-zone1 5.10 Generic_118855-33 i86pc i386 i86pc&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting ===&lt;br /&gt;
&lt;br /&gt;
==== Solaris x86 Media on Sparc (and vice-versa) ====&lt;br /&gt;
&lt;br /&gt;
Jumpstarting with x86 Laptops and SPARC systems&lt;br /&gt;
&lt;br /&gt;
Typically a nice use for laptops is to automate the install or to allow&lt;br /&gt;
the install of systems lacking a CD-ROM drive.&lt;br /&gt;
&lt;br /&gt;
Running setup-install-server&lt;br /&gt;
&lt;br /&gt;
Prior to Solaris 9, you could use the SPARC Solaris CD and run&lt;br /&gt;
setup-install-server on your laptop as well as using an x86 Solaris CD&lt;br /&gt;
on a SPARC based system.&lt;br /&gt;
&lt;br /&gt;
This is no longer the case.&lt;br /&gt;
&lt;br /&gt;
The layout of the CD's for Solaris 8 an prior would contain a copy of&lt;br /&gt;
the miniroot under &amp;quot;Boot&amp;quot; in the Tools directory of the CD-ROM. The&lt;br /&gt;
whole filesystem would be of the &amp;quot;hsfs&amp;quot; type and thus readable across&lt;br /&gt;
architectures.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
user:/cdrom/sol_8_202_ia/Solaris_8/Tools% ls -l&lt;br /&gt;
total 187&lt;br /&gt;
drwxr-xr-x  18 root     other       4096 Dec 18  2001 Boot/&lt;br /&gt;
-rwxr-xr-x   1 root     bin        59058 Nov 27  2001 add_install_client&lt;br /&gt;
-rwxr-xr-x   1 root     sys         1325 Nov 27  2001 dial&lt;br /&gt;
-rwxr-xr-x   1 root     bin        18599 Nov 27  2001 rm_install_client&lt;br /&gt;
-rwxr-xr-x   1 root     bin        11689 Nov 27  2001 setup_install_server&lt;br /&gt;
&lt;br /&gt;
user@machine:/cdrom/sol_8_202_sparc/s0/Solaris_8/Tools% ls -l&lt;br /&gt;
total 187&lt;br /&gt;
drwxr-xr-x  17 root     other       4096 Dec 18  2001 Boot/&lt;br /&gt;
-rwxr-xr-x   1 root     bin        59058 Nov 27  2001 add_install_client&lt;br /&gt;
-rwxr-xr-x   1 root     sys         1325 Nov 27  2001 dial&lt;br /&gt;
-rwxr-xr-x   1 root     bin        18599 Nov 27  2001 rm_install_client&lt;br /&gt;
-rwxr-xr-x   1 root     bin        11689 Nov 27  2001 setup_install_server&lt;br /&gt;
&lt;br /&gt;
user@machine:/% fstyp /vol/dev/dsk/c7t1d0/sol_8_202_ia&lt;br /&gt;
hsfs&lt;br /&gt;
user@machine:/% fstyp /vol/dev/dsk/c1t6d0/sol_8_202_sparc/s0&lt;br /&gt;
hsfs&lt;br /&gt;
user@machine:/% fstyp /vol/dev/dsk/c7t1d0/sol_8_202_ia&lt;br /&gt;
hsfs&lt;br /&gt;
&lt;br /&gt;
s1 contains a ufs copy of the miniroot as well. This is what you're&lt;br /&gt;
actually running from when you boot off of the CD. However, as ufs is&lt;br /&gt;
architecture specific, you can't mount a SPARC ufs partition on an x86&lt;br /&gt;
box and vice versa.&lt;br /&gt;
&lt;br /&gt;
user@machine:/% fstyp /vol/dev/dsk/c1t6d0/sol_8_202_sparc/s1&lt;br /&gt;
ufs&lt;br /&gt;
&lt;br /&gt;
Starting with Solaris 9, there isn't enough space on CD 1 of 2. CD 1 of&lt;br /&gt;
2 should be all that is needed to do an &amp;quot;End User&amp;quot; install. Certain&lt;br /&gt;
packages therefore need to be included there.&lt;br /&gt;
&lt;br /&gt;
The hsfs copy of the miniroot takes up over 200M in the Solaris 8 2/02.&lt;br /&gt;
Freeing up this space was necessary.&lt;br /&gt;
&lt;br /&gt;
With Solaris 9, the &amp;quot;Boot&amp;quot; directory looks like this:&lt;br /&gt;
&lt;br /&gt;
user@machine:/cdrom/sol_9_sparc/s0/Solaris_9/Tools% ls -l&lt;br /&gt;
total 184&lt;br /&gt;
lrwxrwxrwx   1 root     other         11 Apr 15  2002 Boot -&amp;gt; ../../../s1&lt;br /&gt;
-rwxr-xr-x   2 root     bin        59586 Apr 15  2002 add_install_client&lt;br /&gt;
-rwxr-xr-x   2 root     sys         1325 Apr 15  2002 dial&lt;br /&gt;
-rwxr-xr-x   2 root     bin        18599 Apr 15  2002 rm_install_client&lt;br /&gt;
-rwxr-xr-x   2 root     bin        13045 Apr 15  2002 setup_install_server&lt;br /&gt;
&lt;br /&gt;
s1 however is ufs, which is architecture specific.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
user@machine:/% fstyp /vol/dev/dsk/c1t0d0/sol_9_sparc/s1&lt;br /&gt;
ufs&lt;br /&gt;
&lt;br /&gt;
If I attempt to run &amp;quot;setup_install_server&amp;quot; on my x86 laptop from a SPARC&lt;br /&gt;
Solaris 9 CD, you get the following:&lt;br /&gt;
&lt;br /&gt;
# pwd&lt;br /&gt;
/cdrom/sol_9_sparc/Solaris_9/Tools&lt;br /&gt;
# ./setup_install_server /export/install/Solaris_9&lt;br /&gt;
ERROR: Install boot image /cdrom/sol_9_sparc/Solaris_9/Tools/Boot does &lt;br /&gt;
not exist&lt;br /&gt;
        Check that boot image exists, or use [-t] to&lt;br /&gt;
        specify a valid boot image elsewhere&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Getting it to work&lt;br /&gt;
These instructions are architecture neutral. They will work if you are&lt;br /&gt;
trying to configure jumpstart from an x86 server to a SPARC client or&lt;br /&gt;
setting up a SPARC server to jumpstart x86 clients.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Option 1: Use the DVD&lt;br /&gt;
The Solaris OE on DVD has enough space to continue to include the&lt;br /&gt;
miniroot in the architecture neutral portion of itself. The format is&lt;br /&gt;
udfs, which is used for DVD's instead of hsfs for CD's.&lt;br /&gt;
&lt;br /&gt;
This assumes that you, of course, HAVE a DVD drive.&lt;br /&gt;
&lt;br /&gt;
The downside of this is that you get a bunch of stuff that might not&lt;br /&gt;
want to include on your install image. Things such as all of&lt;br /&gt;
localizations and languages take up space on your server's harddrive.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Option 2: Create 2 jumpstart servers&lt;br /&gt;
You can run the setup_install_server script on the system of the same&lt;br /&gt;
architecture and then share it out via NFS to the other system. This of&lt;br /&gt;
course assumes that you have enough temporary space on the system.&lt;br /&gt;
&lt;br /&gt;
Mount up the CD-ROM locally and run &amp;quot;setup_install_server&amp;quot; as if you&lt;br /&gt;
were going to make the system you're on a jumpstart server. I recommend&lt;br /&gt;
installing to /export/install, but you may have another preference.&lt;br /&gt;
After the 1st CD completes, you can add in the second one to the install&lt;br /&gt;
image if you like or add it after you've transferred the image over.&lt;br /&gt;
&lt;br /&gt;
Share out the image via NFS my manually sharing it out using the share&lt;br /&gt;
command or through /etc/dfs/dfstab with a line similar to this:&lt;br /&gt;
&lt;br /&gt;
#Share out the jumpstart directory for installs&lt;br /&gt;
share -F nfs -o ro,anon=0 /export/install&lt;br /&gt;
&lt;br /&gt;
Start the NFS server if necessary.&lt;br /&gt;
&lt;br /&gt;
Mount up the shared directory to your desired server.&lt;br /&gt;
&lt;br /&gt;
Run &amp;quot;setup_install_server&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Option 3: Use NFS&lt;br /&gt;
Using NFS, gets around the architecture issue with ufs. You can mount a&lt;br /&gt;
NFS share on a client and the client doesn't care what the underlying&lt;br /&gt;
filesystem is on the server.&lt;br /&gt;
&lt;br /&gt;
The downside here is that its a bit more complex and that it may take a&lt;br /&gt;
bit longer to setup because you have to install the image over the&lt;br /&gt;
network. Also, you'll need 2 systems, a SPARC based one and a x86 one.&lt;br /&gt;
&lt;br /&gt;
Add the following line to your /etc/rmmount.conf on the system of the&lt;br /&gt;
same architecture that you want to create a jumpstart image of. (If you&lt;br /&gt;
want to put a copy of Solaris 9 SPARC on your x86 laptop, add this line&lt;br /&gt;
to the SPARC system. If you want to do put a Solaris 9 x86 image on your&lt;br /&gt;
SPARC system, the line goes in your x86 system's rmmount.conf)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# share out the CD-ROM&lt;br /&gt;
share cdrom* -o ro,anon=0&lt;br /&gt;
&lt;br /&gt;
This line causes vold automatically share out the CD-ROM and all&lt;br /&gt;
partitions on that CD. This is needed because NFS sharing doesn't span&lt;br /&gt;
filesystems automatically. &amp;quot;anon=0&amp;quot; causes reads by UID=0, which is&lt;br /&gt;
normally mapped to user &amp;quot;nobody&amp;quot; by NFS for security reasons to remain&lt;br /&gt;
mapped to UID=0. This isn't a security issue here because the CD is a&lt;br /&gt;
Read-Only medium anyways.&lt;br /&gt;
&lt;br /&gt;
You will need to re-start vold. Runnning &amp;quot;/etc/init.d/volmgt stop&amp;quot; and&lt;br /&gt;
&amp;quot;/etc/init.d/volmgt start&amp;quot; will do this.&lt;br /&gt;
&lt;br /&gt;
You'll likely need to start up the NFS server processes as well. You can&lt;br /&gt;
either manually start them each time you boot your system or put the&lt;br /&gt;
following into /etc/dfs/dfstab&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
share -F nfs -o ro,anon=0 /cdrom&lt;br /&gt;
&lt;br /&gt;
If you don't have NFS already sharing out filesystems, you'll need to&lt;br /&gt;
start it byt running &amp;quot;/etc/init.d/nfs.server start&amp;quot; as root.&lt;br /&gt;
&lt;br /&gt;
At this point, drop in your CD into the appropriate system. It should&lt;br /&gt;
mount and share things automatically.&lt;br /&gt;
&lt;br /&gt;
# mount&lt;br /&gt;
/cdrom/sol_9_x86/s2 on /vol/dev/dsk/c1t0d0/sol_9_x86/s2 read &lt;br /&gt;
only/nosuid/maplcase/noglobal/rr/traildot/dev=1740003 on Tue Dec  3 &lt;br /&gt;
15:09:39 2002&lt;br /&gt;
/cdrom/sol_9_x86/s0 on /vol/dev/dsk/c1t0d0/sol_9_x86/s0 read &lt;br /&gt;
only/nosuid/intr/largefiles/onerror=panic/dev=1740001 on Tue Dec  3 &lt;br /&gt;
15:09:39 2002&lt;br /&gt;
&lt;br /&gt;
# share&lt;br /&gt;
-               /cdrom   ro,anon=0   &amp;quot;&amp;quot;&lt;br /&gt;
-               /cdrom/sol_9_x86/s2   ro,anon=0   &amp;quot;&amp;quot;&lt;br /&gt;
-               /cdrom/sol_9_x86/s0   ro,anon=0   &amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
At this point you should be able to CD down&lt;br /&gt;
to the appropriate location to run your setup_install_server.&lt;br /&gt;
&lt;br /&gt;
# pwd&lt;br /&gt;
/&lt;br /&gt;
# cd /cdrom/sol_9_x86/s2/Solaris_9/Tools&lt;br /&gt;
# pwd&lt;br /&gt;
/cdrom/sol_9_x86/s2/Solaris_9/Tools&lt;br /&gt;
# ls&lt;br /&gt;
Boot                  dial                  setup_install_server&lt;br /&gt;
add_install_client    rm_install_client&lt;br /&gt;
&lt;br /&gt;
Alternately, you can mount up the directories manually. For example:&lt;br /&gt;
&lt;br /&gt;
# mount -F nfs -o ro dhcp-ublm02-228-227:/cdrom /mnt&lt;br /&gt;
# mount -F nfs -o ro dhcp-ublm02-228-227:/cdrom/sol_9_x86/s0 &lt;br /&gt;
/mnt/sol_9_x86/s0&lt;br /&gt;
# mount -F nfs -o ro dhcp-ublm02-228-227:/cdrom/sol_9_x86/s2 &lt;br /&gt;
/mnt/sol_9_x86/s2&lt;br /&gt;
&lt;br /&gt;
All 3 mounts are needed as we have 3 separate filesystems and NFS&lt;br /&gt;
doesn't span filesystems.&lt;br /&gt;
&lt;br /&gt;
Now run your &amp;quot;setup_install_server&amp;quot; script.&lt;br /&gt;
&lt;br /&gt;
# ./setup_install_server /export/install/sol_9_x86&lt;br /&gt;
Verifying target directory...&lt;br /&gt;
Calculating the required disk space for the Solaris_9 product&lt;br /&gt;
Calculating space required for the installation boot image&lt;br /&gt;
Copying the CD image to disk...&lt;br /&gt;
Copying Install Boot Image hierarchy...&lt;br /&gt;
Install Server setup complete&lt;br /&gt;
&lt;br /&gt;
You can either install the CDROM 2 of 2 through this method or drop it&lt;br /&gt;
in locally as it is in the hsfs format.&lt;br /&gt;
&lt;br /&gt;
There are lots of ways that this can be done outside of this particular&lt;br /&gt;
method. Your mileage may vary.&lt;br /&gt;
&lt;br /&gt;
==== ARP/RARP Timeouts ====&lt;br /&gt;
&lt;br /&gt;
When building a server, you can get the ethernet address from the Open Boot Prom 'banner' command at the 'ok' prompt. By default, this ethernet address is shared between all the ethernet interfaces of the host, so performing a JumpStart off an ethernet interface other than the default alias 'net' proceeds as normal.&lt;br /&gt;
&lt;br /&gt;
When using IPMP or Sun Cluster 3, the value of the Open Boot Prom 'local-mac-address' option is set to true which in turn means that every ethernet interface uses it's own ethernet address, and not the hardcoded one in the Open Boot Prom.&lt;br /&gt;
&lt;br /&gt;
On subsequent re-build attempts over the onboard default 'net' interface, everything is ok; however, if you are building over a different device to 'net' the ethernet address may not match the one you originally used in your template.&lt;br /&gt;
&lt;br /&gt;
As the JumpStart server /etc/ethers files does not match this new ethernet address, it is unable to reply to the booting machine, hence the extended period of ARP/RARP timeouts.&lt;br /&gt;
&lt;br /&gt;
To locate mac addresses for different adapters when local-mac-address? is set to true, you can do the following:&lt;br /&gt;
&lt;br /&gt;
    * At the OBP prompt, do a 'show-nets' to list the network adapters available&lt;br /&gt;
    * Select the adapter&lt;br /&gt;
    * cd &amp;lt;ctrl+y&amp;gt;&lt;br /&gt;
    * .properties&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== System hangs at a # prompt ====&lt;br /&gt;
&lt;br /&gt;
If 'diag-switch?' is set to true in OBP, the system will hang at the '#' prompt prior to rebooting, just after Solaris has installed.&lt;br /&gt;
&lt;br /&gt;
This seems to happen on all types of hosts from V100's through to F15Ks. You need to use the appropriate commands to change the obp setting depending on your platform.&lt;br /&gt;
&lt;br /&gt;
==== Forcing Speed/Duplex during JumpStart ====&lt;br /&gt;
&lt;br /&gt;
You really should just use Auto-negotiation on switches; it works these days and is reliable.&lt;br /&gt;
&lt;br /&gt;
Turning autonegotiation off and setting speed/mode manually is called&lt;br /&gt;
&amp;quot;forced mode&amp;quot;.&lt;br /&gt;
For the Sun[TM] GigaSwift on-board interfaces and Network Interface Cards&lt;br /&gt;
(ce), and for bge on-board interfaces, boot in &amp;quot;forced mode&amp;quot; is possible.&lt;br /&gt;
&lt;br /&gt;
In jumpstart &amp;quot;boot net&amp;quot;, 3 steps are involved.&lt;br /&gt;
The driver must be forced in all 3 steps of the jumpstart boot process.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
o 1st Step: force the interface on boot prom for booting&lt;br /&gt;
&lt;br /&gt;
ok boot /pci@1f,2000/pci@1/network@0:speed=100,duplex=full,&lt;br /&gt;
        or&lt;br /&gt;
ok devalias net /pci@1f,2000/pci@1/network@0:speed=100,duplex=full,&lt;br /&gt;
ok boot net&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
o 2nd Step: inetboot is loaded.&lt;br /&gt;
&lt;br /&gt;
An inetboot file on the boot server which honours the &amp;quot;forced&amp;quot; ce setting &lt;br /&gt;
is needed. &lt;br /&gt;
This is included in Solaris 8 Patch-ID# 111306-05 , for Solaris 9, it's&lt;br /&gt;
Patch-ID# 113578-01 .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
o 3rd Step: client uses the OS from the file system of the boot server&lt;br /&gt;
&lt;br /&gt;
create a&lt;br /&gt;
../Boot/platform/sun4u/kernel/drv/ce.conf  or&lt;br /&gt;
../Boot/platform/sun4u/kernel/drv/bge.conf&lt;br /&gt;
(the same directory, in which the ce 32 bit driver sits, one single line,&lt;br /&gt;
example for 100 FDX):&lt;br /&gt;
&lt;br /&gt;
adv_autoneg_cap=0 adv_1000fdx_cap=0 adv_1000hdx_cap=0 adv_100fdx_cap=1 &lt;br /&gt;
adv_100hdx_cap=0 adv_10fdx_cap=0 adv_10hdx_cap=0;&lt;br /&gt;
&lt;br /&gt;
==== JumpStart &amp;amp; JET logs ====&lt;br /&gt;
&lt;br /&gt;
JumpStart saves a log of the output from the system install in the file /var/sadm/system/logs/finish.log. The bad news, is that only covers the log output up to the reboot at the end of the initial install.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
JET includes post-reboot processing in most cases, so the complete JET log (a superset of the JumpStart log) can be found at /var/opt/sun/jet/jumpstart_install.log. There is also a link to the system log called finish.log in the same directory.&lt;br /&gt;
&lt;br /&gt;
The JET log will include the system finish log output and also any output from JET processing at subsequent reboots.&lt;br /&gt;
&lt;br /&gt;
==== Solaris 10, SSH doesn't start ====&lt;br /&gt;
&lt;br /&gt;
When JumpStart'ing Solaris 10 GA (and maybe some of the updates), the ssh software is installed but the daemon doesn't start; 'svcs -a' reporting it in a maintenance state.&lt;br /&gt;
&lt;br /&gt;
The root cause is that the ssh host key is not created for some reason, so you need to execute the following commands:&lt;br /&gt;
&lt;br /&gt;
/lib/svc/method/sshd -c&lt;br /&gt;
/usr/sbin/svcadm clear network/ssh&lt;br /&gt;
&lt;br /&gt;
In JET, you could put the commands into a script in /opt/jet/Clients/common.files/fixup-ssh and then use custom_scripts=&amp;quot;fixup-ssh&amp;quot; to get JET to fix the problem for you.&lt;br /&gt;
&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
#&lt;br /&gt;
# Fix Up SSH on Solaris 10&lt;br /&gt;
#&lt;br /&gt;
if [ ! -f /etc/ssh/ssh_host_rsa_key -o ! -f /etc/ssh/ssh_host_dsa_key ]; then&lt;br /&gt;
        /lib/svc/method/sshd -c&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
/usr/sbin/svcadm clear network/ssh&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== TFTP Problems While Booting ====&lt;br /&gt;
&lt;br /&gt;
A number of people have come across problems with TFTP; specifically TFTP failing during (or sometimes at the start of) a transfer.&lt;br /&gt;
&lt;br /&gt;
TFTP is the 'Trivial File Transfer Protocol' and as such has some simple limitations. One such, is that the original protocol allows up to 65,536 blocks to be transferred; each block defaulting to 512 bytes -&amp;gt; 32Mb limit.&lt;br /&gt;
&lt;br /&gt;
Some implementations allow the block size to be increased, others allow the block counter to roll-over; 65,536 == 0 again.&lt;br /&gt;
&lt;br /&gt;
Sun changed their in.tfptd implementation between Solaris 8 and 9, and from tests, it seems they have added the 'change block size' code. Tests on Solaris 9 and 10 indicate that the Sun in.tftpd server still stops at block 65,536 though.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Solaris 10 Update 1 for x86/64 has a new boot mechanism, and the file to be downloaded via TFTP is 48Mb or so. If you are using a Solaris 8 JumpStart server, then you are going to hit trouble. Either move to Solaris 9 or you could try and take the in.tftpd binary from a Solaris 9 client.If things still don't work, then you could go off and google for a replacement tftpd server; http://www.kernel.org/pub/software/network/tftp/ has done the trick for me in the past, and doesn't need much to convince it to compile under Solaris.&lt;br /&gt;
&lt;br /&gt;
==== Solaris 10 Update 1 and Flash archive problems ====&lt;br /&gt;
&lt;br /&gt;
When deploying a flash archive taken from a Solaris 10 Update 1 install, the initial flash completes, but subsequent JET processing stops after the first reboot.&lt;br /&gt;
&lt;br /&gt;
When you build a system using flash on Solaris 10, the smf(1m) database gets stored as part of the flash archive. Under Solaris 10 GA/FCS, the smf(1m) database entries were keyed using the manifest inode number (amongst other things), so when you redeployed the flash, the inode numbers changed and smf(1m) re-scanned the manifest files.&lt;br /&gt;
&lt;br /&gt;
Under Solaris 10 Update 1, Sun have removed the inode time from the database key, so it doesn't rebuild the database as it used to.&lt;br /&gt;
&lt;br /&gt;
If you built the original system using JET, the jetjump.xml file is still 'known about' by the smf(1m) database, so when you come to deploy the flash archive using JET, smf(1m) happily ignores the newly deposited jetjump.xml file.&lt;br /&gt;
&lt;br /&gt;
Officially, this is a bug/feature introduced in Solaris 10 Update 1 (BugID 6251841). The version of JET about to be released has a work around for this situation, so it will go away.&lt;br /&gt;
&lt;br /&gt;
The work around for now, is to do the following *before* creating the flash archive:&lt;br /&gt;
&lt;br /&gt;
# svccfg -s smf/manifest delpg var_svc_manifest_site_jetjump_xml&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This 'feature' is also present in Nevada builds (Solaris Express / Solaris 11).&lt;br /&gt;
&lt;br /&gt;
==== I am warned about missing patches, but cannot add ====&lt;br /&gt;
&lt;br /&gt;
If you get the warning&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
WARNING: Patch 119375-11 has not been applied to the boot image.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
And then run the patchadd -C command as instructed, only to be told the patch is already present,&lt;br /&gt;
&lt;br /&gt;
This may be because patchadd was broken in Solaris 10 (03/05) and failed to check correctly. This has been fixed with later versions/patches.&lt;br /&gt;
&lt;br /&gt;
Alternatively if you are using Solaris 10 01/06 or later there is an issue that patchadd cannot check the mini-root.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As it is only a WARNING, it will not cause make_client to fail. If make_client fails, look back to identify earlier FAIL messages.&lt;br /&gt;
&lt;br /&gt;
A future release of JET may well bypass this error&lt;br /&gt;
&lt;br /&gt;
=== Bug / Problem Reporting ===&lt;br /&gt;
&lt;br /&gt;
==== Having Problems with JET and need help ? ====&lt;br /&gt;
&lt;br /&gt;
If you post a question here that concerns a specific problem you are seeing with JET, then please include the template and the output from /var/opt/sun/jet/jumpstart_install.log - or at the very least, say you have that information and be prepared to send it on to who ever elects to try to help you. &lt;br /&gt;
&lt;br /&gt;
==== Reporting a Bug ====&lt;br /&gt;
&lt;br /&gt;
Think you've found a bug in JET ? If so, first up check it is a bug by asking the appropriate question on this website or send your theory and reasoning to jet@sun.com.&lt;br /&gt;
&lt;br /&gt;
JET 'evolved' over about 5+ years, so the chance of someone making a mistake in the scripting is not beyond possibility! It could however be something JET was not designed for in which case it's an RFE - Request For Enhancement.&lt;br /&gt;
&lt;br /&gt;
==== Request For Enhancements (RFEs) ====&lt;br /&gt;
&lt;br /&gt;
If you discover something you want changed in JET, then it normally falls into two categories:&lt;br /&gt;
&lt;br /&gt;
    Implement it in a module&lt;br /&gt;
&lt;br /&gt;
        Support for non-core features or additional configuration work can be easily delivered through a new JET module. This way, the main code base stays unaffected for the vast majority of people who use it, and the module can evolve as the authors see fit.&lt;br /&gt;
&lt;br /&gt;
    Submit the change as an RFE&lt;br /&gt;
&lt;br /&gt;
        If the feature needs to go into the main JET package or one of the pre-supplied modules and can not be delivered as a module, then you need to discuss the matter with the JET folks at Sun (jet@sun.com) and work on drafting an RFE. Depending on how much they agree with your suggestion and how much time they have, the actual change could be made quickly or could take months - such is the nature of change.&lt;/div&gt;</summary>
		<author><name>Marty</name></author>
	</entry>
	<entry>
		<id>https://jet.maui.co.uk/wiki/index.php?title=Faq&amp;diff=1354</id>
		<title>Faq</title>
		<link rel="alternate" type="text/html" href="https://jet.maui.co.uk/wiki/index.php?title=Faq&amp;diff=1354"/>
		<updated>2007-09-03T13:42:55Z</updated>

		<summary type="html">&lt;p&gt;Marty: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Frequently Asked Questions ==&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
&lt;br /&gt;
==== What are these '.pkg'/'pkg.bz2' files ? ====&lt;br /&gt;
&lt;br /&gt;
&amp;quot;I've just downloaded the packages from the website, and now have files with a .pkg suffix. What do I do next ?&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The files you have are datastream packages. To install them, run&lt;br /&gt;
&lt;br /&gt;
      pkgadd -d filename.pkg&lt;br /&gt;
&lt;br /&gt;
rather than the more usual pkgadd -d . [pkgname]&lt;br /&gt;
&lt;br /&gt;
You can migrate the datastream format packages to regular directory based packages by using the pkgtrans(1m) command.&lt;br /&gt;
&lt;br /&gt;
      pkgtrans filename.pkg . all&lt;br /&gt;
&lt;br /&gt;
Basically, read up on pkgadd(1m) and pkgtrans(1m) !&lt;br /&gt;
&lt;br /&gt;
==== A GUI Frontend for JET ====&lt;br /&gt;
&lt;br /&gt;
Is there a Web Front End for JET ?&lt;br /&gt;
&lt;br /&gt;
Probably the most frequently requested feature. The short answer is 'no, there is no generic web front end for JET'.&lt;br /&gt;
&lt;br /&gt;
The long answer is that typically, web front ends are written to expose a subset of the features available in JET. For the case of 'standard builds', you may wish to have a pull down list of available builds and just plug in the MAC and IP addresses etc.&lt;br /&gt;
&lt;br /&gt;
As these front ends, with only a subset of features presented, are very much customised for a particular use/customer, it's work you need to do!&lt;br /&gt;
&lt;br /&gt;
If a 'generic web front end' was provided, it would need to be kept up to date with every modification to the toolkit. Quite frankly, it isn't going to be that useful to many people.&lt;br /&gt;
&lt;br /&gt;
JET has been designed so it is pretty easy to front end yourself.&lt;br /&gt;
&lt;br /&gt;
==== Getting Help with JET ====&lt;br /&gt;
&lt;br /&gt;
There are a number of places you can go for help with JET; first up is obviously Sun themselves - Email the people who look after JET on the alias jet@sun.com and someone should get back to you pretty quickly (UK Timezone).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sun have also put up information on the JET BigAdmin page at http://www.sun.com/bigadmin/content/jet/ and Mike Ramchand (one of the authors) tends to write things about JET in his blog at http://blogs.sun.com/roller/page/mramcha/20050826&lt;br /&gt;
&lt;br /&gt;
External to Sun are a number of resources; there is a Yahoo group at http://groups.yahoo.com/group/JETJumpStart/ and of course, you can approach me (marty at Maui-Systems dot co dot uk) as the other author of the toolkit from when I used to work for Sun.&lt;br /&gt;
&lt;br /&gt;
==== Whats in the Free Bundle ? ====&lt;br /&gt;
&lt;br /&gt;
The JET bundle downloadable from http;//www.sun.com/downloads currently (as of May 2006) contains the following modules.&lt;br /&gt;
&lt;br /&gt;
    * SUNWjet - The core JET product&lt;br /&gt;
    * SUNWjetd - The documentation - Please read&lt;br /&gt;
    * JetSDS - Configure SVM/SDS&lt;br /&gt;
    * JetVTS - Install the Test Suite&lt;br /&gt;
    * JetEXPLO - Install and configure Explorer&lt;br /&gt;
    * JetFLASH - Utilise flash archives for installation&lt;br /&gt;
    * JetSAN - Configure SANs&lt;br /&gt;
    * JetJASS - JASS toolkit install and configuration&lt;br /&gt;
    * JetZONES - Add local zones to your Solaris 10 global zones as part of the build&lt;br /&gt;
    * JetWanBoot - Plugin to allow JET to perform WANBOOTt installations&lt;br /&gt;
    * JetRBAC - Enables none root users to run JET using RBAC&lt;br /&gt;
&lt;br /&gt;
Sun releases/refreshes the bundle on an ad-hoc basis and normally communicates this fact to the comp.unix.solaris and alt.solaris.x86 newsgroups.&lt;br /&gt;
&lt;br /&gt;
==== Solaris 10 U1 (01/06) grub/newboot ====&lt;br /&gt;
&lt;br /&gt;
With the release of Solaris 10 Update 1 (01/06), the x86/64 platform boot method was transitioned to 'grub', finally doing away with the old DCA pre-boot environment. This new boot method was refered to as &amp;quot;newboot&amp;quot; internally to Sun and the phrase seems to have stuck.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To deal with this a JetNEWBOOT module was developed to &amp;quot;plugin&amp;quot; to JET versions prior to JET 4.2 to support this new boot environment. When JET 4.2 is released, the 'grub' installation method will be part of the core JET product.&lt;br /&gt;
&lt;br /&gt;
When using JetNEWBOOT, all you need to amend in your template is the&lt;br /&gt;
&lt;br /&gt;
    * base_config_allocation_method=&amp;quot;newboot&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As a guide to what to use:&lt;br /&gt;
&lt;br /&gt;
    * With Solaris 10 GA (03/05)&lt;br /&gt;
          o base_config_allocation_method=&amp;quot;dhcp&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    * With Solaris 10 Update 1 (01/06) and above, JET (&amp;lt; 4.2) and JetNEWBOOT&lt;br /&gt;
          o base_config_allocation_method=&amp;quot;newboot&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    * With Solaris 10 Update 1 (01/06) and above, JET (&amp;gt;= 4.2)&lt;br /&gt;
          o base_config_allocation_method=&amp;quot;grub&amp;quot;&lt;br /&gt;
&lt;br /&gt;
JetNEWBOOT is now part of the downloadable bundle from Sun but will not be required once JET 4.2 is released.&lt;br /&gt;
&lt;br /&gt;
==== Using 'iso' images instead of CD/DVDs&lt;br /&gt;
&lt;br /&gt;
The following was derived from information at http://www.unix.com/showthread.php?t=18074&lt;br /&gt;
&lt;br /&gt;
When using Solaris ISO images, the start of the image contains a hsfs (high sierra filesystem) with a couple of ufs filesystems appended to the end of it.&lt;br /&gt;
&lt;br /&gt;
The problem, is that using lofiadm, only the hsfs image is spotted and made available; the ufs filesystems are not seen, so you end up with broken links to 's1' and the like.&lt;br /&gt;
&lt;br /&gt;
To set up a JumpStart server using Solaris ISO images, you must have access to both slice 0 and slice 1 on the image.&lt;br /&gt;
&lt;br /&gt;
To fix the problem, split the contents of slice 1 into it's own image file and then mount this image separately using lofi.&lt;br /&gt;
&lt;br /&gt;
The following procedure describes how to do this.&lt;br /&gt;
Code:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# ls -l sol-9*&lt;br /&gt;
-rw-r--r-- 1 root root 576364544 Jan 1 11:16 sol-9-u1-sparc-v1.iso&lt;br /&gt;
-rw-r--r-- 1 root root 291962880 Jan 1 21:42 sol-9-u1-sparc-v2.iso&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This only applies to CD 1, all other isos can be mounted using lofiadm in the normal way.&lt;br /&gt;
&lt;br /&gt;
(1) Get a copy of the VTOC from the ISO image:&lt;br /&gt;
Code:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# dd if=sol-9-u1-sparc-v1.iso of=vtoc bs=512 count=1&lt;br /&gt;
&lt;br /&gt;
1+0 records in&lt;br /&gt;
1+0 records out&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(2) Now find out where Slice 1 starts in the image and how long it is. The starting cylinder for slice 1 is located at offset 452 (decimal) into the VTOC; the length in blocks is at offset 456, with both being 4 bytes long.&lt;br /&gt;
Code:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# od -D -j 452 -N 8 &amp;lt; vtoc&lt;br /&gt;
0000000 0000000888 0000546560&lt;br /&gt;
0000010&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Slice 1 starts on cylinder 888, and is 546,560 blocks long. CD for the Solaris OS always have 640 blocks per cylinder, so you can find the starting block of slice 1 as follows:&lt;br /&gt;
Code:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# echo 888*640 | bc&lt;br /&gt;
568320&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
So now you know s1 starts at block 568320 and is 546560 blocks long.&lt;br /&gt;
&lt;br /&gt;
(3) Copy slice one into a separate file:&lt;br /&gt;
Code:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# dd if=sol-9-u1-sparc-v1.iso of=sol-9-u1-sparc-v1-s1.iso bs=512 skip=568320 count=546560&lt;br /&gt;
&lt;br /&gt;
546560+0 records in&lt;br /&gt;
546560+0 records out&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(4) Mount both slice 0 and slice 1 as follows:&lt;br /&gt;
Code:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# mkdir /cd&lt;br /&gt;
# mkdir /cd/s0&lt;br /&gt;
# mkdir /cd/s1&lt;br /&gt;
# lofiadm -a /path_to/sol-9-u1-sparc-v1.iso&lt;br /&gt;
/dev/lofi/1&lt;br /&gt;
# lofiadm -a /path_to/sol-9-u1-sparc-v1-s1.iso&lt;br /&gt;
/dev/lofi/2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
When you mount slice 1, remember that it is a UFS partition, not HSFS as is usual on a CD-ROM:&lt;br /&gt;
Code:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# mount -F hsfs -o ro /dev/lofi/1 /cd/s0&lt;br /&gt;
# mount -F ufs -o ro /dev/lofi/2 /cd/s1&lt;br /&gt;
# cd /cd/s0/Solaris_9/Tools/&lt;br /&gt;
# ./setup_install_server /destination_dir&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== How To Upgrade JET&lt;br /&gt;
&lt;br /&gt;
Upgrading JET is normally as easy as&lt;br /&gt;
&lt;br /&gt;
    * pkgrm SUNWjet&lt;br /&gt;
    * pkgadd -d . SUNWjet&lt;br /&gt;
&lt;br /&gt;
The JET packages were designed so that they don't remove your configs, templates or other 'configuration' settings when removed. However, if you hack the JET scripts etc, then this will remove your customisations - hence the reason hacking JET is frowned upon and you are recommended to look at writing your own modules instead.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
However, if you are upgrading from JET 3.x to 4.x, then you need to do some additional work. The following was taken from Mike's Sun blog&lt;br /&gt;
&lt;br /&gt;
    Things might be a little trickier if you've already got JET 3.7.3 installed, and you want to keep you existing templates etc. The easiest way to accomplish this is to pkgrm all your existing JET packages. (SUNWjet, and all the packages that start with JET), and then&lt;br /&gt;
&lt;br /&gt;
        mv /opt/jet /opt/SUNWjet&lt;br /&gt;
&lt;br /&gt;
    Finally install the new JET packages.If you've created you own custom modules or scripts, you may need to check them to ensure you haven't hard-coded any /opt/jet paths in them.&lt;br /&gt;
&lt;br /&gt;
The extra bits are&lt;br /&gt;
&lt;br /&gt;
    * remember to update your .profile with the new path (/opt/SUNWjet/bin)&lt;br /&gt;
    * if you have any existing clients, you will need to re-run 'make_client' on them, as /etc/bootparams and/or dhcp macro table will have the directory /opt/jet mentioned as the config directory, rather than the new /opt/SUNWjet&lt;br /&gt;
&lt;br /&gt;
==== How to set up JET as a PXE (DHCP) Server&lt;br /&gt;
&lt;br /&gt;
The easiest way of setting up JET to serve up PXE boot clients (or other DHCP clients) is to copy, edit and then run the &amp;quot;helper script&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
cp /opt/SUNWjet/Products/base_config/solaris/make_dhcp /var/tmp&lt;br /&gt;
&lt;br /&gt;
edit it to suit your network&lt;br /&gt;
ie&lt;br /&gt;
&lt;br /&gt;
    NETWORK=10.1.1.0&lt;br /&gt;
&lt;br /&gt;
    NETMASK=255.255.255.0&lt;br /&gt;
&lt;br /&gt;
    ROUTER=10.1.1.1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    dhcpconfig -D -r SUNWfiles -p /var/tmp&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    dhcpconfig -N ${NETWORK} -m ${NETMASK} -t ${ROUTER}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Then run it, /var/tmp/make_dhcp&lt;br /&gt;
&lt;br /&gt;
JET will now &amp;quot;do the right thing&amp;quot; based on the allocation method in your template.&lt;br /&gt;
&lt;br /&gt;
==== I noticed alot of docs for jumpstart setup for solaris8,9 I dont see one for solaris10. Why isnt there one for 10? i am interesting in setting up jumpstart for upgrades and clean install. is is safe to do jumpstart straioght from sol7 to sol10?&lt;br /&gt;
&lt;br /&gt;
JET was originally developed in the era of Solaris 7, 8 and 9. As such whatever documentation there is, normally uses one of those in examples.&lt;br /&gt;
&lt;br /&gt;
JET works fine with Solaris 10, and unless anything specific is said, it works in the same fashion with 10 (and indeed 11) in the same fashion as previous versions of Solaris.&lt;br /&gt;
&lt;br /&gt;
JET doesn't deal with upgrades at all; if you want to upgrade using JumpStart, then you need to hand-craft something - there are too many risks for JET to be able to claim to work properly in every situation, so it doesn't claim to do upgrades at all.&lt;br /&gt;
&lt;br /&gt;
=== Configuration ===&lt;br /&gt;
&lt;br /&gt;
==== JET and Boot Servers&lt;br /&gt;
&lt;br /&gt;
Initially, JET was not designed to use the JumpStart Boot Server concepts. There are some internal to Sun modules that are known to extend JET to include Boot Server support and also do so much more for distributed JET environments.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If this is a requirement for you, contact Sun (jet@sun.com) and try to get them involved. If what they have already doesn't fit, it's probably easy for them to adjust it!&lt;br /&gt;
&lt;br /&gt;
==== Disksuite Soft Partitions&lt;br /&gt;
&lt;br /&gt;
The easiest way is to create an md.tab file&lt;br /&gt;
and put it under /opt/jet/Clients/clientname&lt;br /&gt;
&lt;br /&gt;
The format of the md.tab should be something like:&lt;br /&gt;
&lt;br /&gt;
    d50 -p d40 100m&lt;br /&gt;
    d40 -m d41&lt;br /&gt;
    d41 1 1 /dev/rdsk/c1t0d0s0&lt;br /&gt;
    d42 1 1 /dev/rdsk/c2t0d0s0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
or for creating a mirrored stripe with softpartitions:&lt;br /&gt;
&lt;br /&gt;
    d70 -p d60 1g&lt;br /&gt;
    d60 -m d61&lt;br /&gt;
    d61 1 2 /dev/rdsk/c1t1d0s0 /dev/rdsk/c1t2d0s0&lt;br /&gt;
    d62 1 2 /dev/rdsk/c2t1d0s0 /dev/rdsk/c2t2d0s0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In addition, the disks used above should all have their vtocs created.&lt;br /&gt;
This is achieved with the following lines from JET base_config:&lt;br /&gt;
&lt;br /&gt;
    base_config_profile_disk_c0t1d0s0_size=&amp;quot;free&amp;quot;&lt;br /&gt;
    base_config_profile_disk_c0t1d0s7_size=&amp;quot;32&amp;quot; (repeat for above disks)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Don't associate any mount points with these partitions.&lt;br /&gt;
&lt;br /&gt;
Finally, to initialise and attach, put in the correct order:&lt;br /&gt;
&lt;br /&gt;
    sds_metadevices_to_init=&amp;quot;d41 d42 d40 d50 d61 d62 d60 d70&amp;quot;&lt;br /&gt;
    sds_metadevices_to_attach=&amp;quot;d40:d42 d60:d62&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
and then add the entries for /etc/vfstab:&lt;br /&gt;
&lt;br /&gt;
    sds_newfs_devices=&amp;quot;/dev/md/rdsk/d50&amp;quot;&lt;br /&gt;
    sds_mount_devices=&amp;quot;/dev/md/dsk/d50:/d50:2:logging&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== Upgrade vs Install&lt;br /&gt;
&lt;br /&gt;
JET doesn't do upgrades; you could in theory do it, since JumpStart does support upgrades, but would you really want to ?&lt;br /&gt;
&lt;br /&gt;
Pretty much every system is unique, so just running an 'automated' upgrade on a bunch of systems will produce a mixture of results; in fact, many people, say that you have two real options...&lt;br /&gt;
&lt;br /&gt;
   1. make sure your 'data' is saved, and then do a burn and build. Safest option, as you know exactly what you are going to get; bad side is that you need to know where your data is.&lt;br /&gt;
&lt;br /&gt;
   2. do a manual upgrade; you can still use the network Solaris images, just omit the '- install'; 'boot net' that way, you are in control and don't invoke any errant finish scripts that you may not be expecting.&lt;br /&gt;
&lt;br /&gt;
Hence the reason we don't promote upgrades; there are too many variables; JET is designed for burn and build, since it's origin is from field installations. Not saying it isn't possible, but by the time you get it working, you may have taken less time to do the upgrades by hand!&lt;br /&gt;
&lt;br /&gt;
==== Using SVM to mirror root disks&lt;br /&gt;
&lt;br /&gt;
&amp;quot;I have configured a jumpstart server using Sun JET 4.1. I am trying to build a client with ODS (disksuite) to mirror rootdisk. I installed the sds package and did all the configuration bit.  I  have managed to build the client system successfully with all the mirrors and can see the mirror using “metastat –p” command. The only issue is, the system is not showing the metadevices entries in “/etc/vfstab” file and therefore has booted from the normal devices.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
When configuring SVM/SDS for root disks, use the sds_root_mirror setting in the template. It was desgined to 'encapsulate' existing filesystems with SVM metadevices - even if you don't actually have the other device to mirror the root disk to yet.&lt;br /&gt;
&lt;br /&gt;
The sds_metadevices_to_* variables are used to create new metadevices and filesystems - setting things here won't affect your /etc/vfstab for existing filesystems unless you do it yourself.&lt;br /&gt;
&lt;br /&gt;
==== JET and JASS Integration&lt;br /&gt;
&lt;br /&gt;
You need to get hold of the JetJASS module, which as far as I know is not part of&lt;br /&gt;
the standard download available at www.sun.com/downloads&lt;br /&gt;
&lt;br /&gt;
If you have JetJASS, then doing a 'make_template -T &amp;lt;client&amp;gt; &amp;lt;client&amp;gt; jass' will&lt;br /&gt;
add the JASS module details to your template. After that, the options are&lt;br /&gt;
pretty self-explanatory - providing you understand JASS that is.&lt;br /&gt;
&lt;br /&gt;
For those who don't have JetJASS, then you need to engage Sun to get hold of it; you can either do that through your local account manager or through the jet@sun.com alias.&lt;br /&gt;
&lt;br /&gt;
==== How does this JetZONES module work ?&lt;br /&gt;
&lt;br /&gt;
The philosophy behind the module was to try to treat zones as a normal JET client. In order to do this, you need to :&lt;br /&gt;
&lt;br /&gt;
    *&lt;br /&gt;
&lt;br /&gt;
      Enable JET server to deploy zones. This is achieved by adding JetZONES to the JET server&lt;br /&gt;
    * Add JET support to the 'parent' system. The 'parent' system is the system on which the zones will be created. This is achieved by adding the 'zones' module to the template for the parent.&lt;br /&gt;
    *&lt;br /&gt;
&lt;br /&gt;
      Create a 'zone' definition by using the 'make_zone_template' which gives you a cut down standard Solaris template.&lt;br /&gt;
          o&lt;br /&gt;
&lt;br /&gt;
            zone definitions are not tied to the parent unless specifically referenced in the parent template. By default a zone could be instantiated on any of the possible parents (usual network and resource restrictions obviously apply).&lt;br /&gt;
&lt;br /&gt;
You can manually 'JumpStart' a zone on a parent by running the 'jetzone' command, which will then contact the JET server and hopefully do the right thing.&lt;br /&gt;
&lt;br /&gt;
The obvious caveats, are that very few of the usual modules are zone aware, so you have to be careful with additional jet modules in zone templates.&lt;br /&gt;
&lt;br /&gt;
In summary, the steps are&lt;br /&gt;
&lt;br /&gt;
   1. make_template myclient zones&lt;br /&gt;
   2. (optional) edit the zones section to add the zone names to be used&lt;br /&gt;
   3. make_zone_template &amp;lt;zone&amp;gt;&lt;br /&gt;
   4. make_client &amp;lt;zone&amp;gt;&lt;br /&gt;
   5. make_client &amp;lt;client&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Further comments are within the the zone template&lt;br /&gt;
&lt;br /&gt;
==== Using Jet-4.1, how do I get 'sds' and 'flash' to work together - ie, after applying a flash image, I then want to mirror with the 'sds' module.&lt;br /&gt;
&lt;br /&gt;
You use JET exactly as you would do for a normal build; it just&lt;br /&gt;
means that the usual profile information (cluster etc) gets&lt;br /&gt;
ignored and the initial install is done from a flash archive.&lt;br /&gt;
&lt;br /&gt;
make_template -f client1 base_config flash sds&lt;br /&gt;
&lt;br /&gt;
edit as usual, build as usual and the sds stuff will get applied&lt;br /&gt;
after the first reboot, exactly as a normal JET build.&lt;br /&gt;
&lt;br /&gt;
==== Hi, I have read that jumpstart automates the installation of the OS. Is it possible to include the DB and application?&lt;br /&gt;
&lt;br /&gt;
Absolutely; if you can script the installation and configuration of the DB and application, then JumpStart and/or JET can happily set things up during the install of Solaris.&lt;br /&gt;
&lt;br /&gt;
Use the resources at http://jet.maui.co.uk/wiki/index.php/Resources for pointers to documentation and email aliases to help if required.&lt;br /&gt;
&lt;br /&gt;
==== How can I add packages after the initial installation and patching?&lt;br /&gt;
&lt;br /&gt;
Solaris packages (i.e. the ones that come on the main Solaris CD's) are added using the base_config_add_package / base_config_add_cluster options in the template; these then instruct the Solaris installer to deal with them.&lt;br /&gt;
&lt;br /&gt;
To install other arbitrary packages, patches, files or scripts, look at the 'custom' module that is included in the main SUNWjet package. It has options for custom_packages and custom_patches, along with similar constructs for files and scripts.&lt;br /&gt;
&lt;br /&gt;
Be sure to read the http://jet.maui.co.uk/wiki/index.php/JETPrimer page, as it has an example of using the 'custom' module.&lt;br /&gt;
&lt;br /&gt;
==== Adding Mount Options&lt;br /&gt;
&lt;br /&gt;
The base_config_profile_s?_mtpt variables are used to populate the&lt;br /&gt;
client profile. The client profile allows commands such as&lt;br /&gt;
&lt;br /&gt;
filesys c1t4d0s0 1024 /var nosuid&lt;br /&gt;
&lt;br /&gt;
so you should be able to do something like&lt;br /&gt;
&lt;br /&gt;
base_config_profile_s5_mtpt=&amp;quot;/var nosuid&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Just remember the quotes!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== How do I create additional disk/mirrors&lt;br /&gt;
&lt;br /&gt;
JET can be used to create additional mirrors by creating the slices in the base_config section&lt;br /&gt;
&lt;br /&gt;
############&lt;br /&gt;
#&lt;br /&gt;
# You can specify additional disks to use/configure here&lt;br /&gt;
#&lt;br /&gt;
# additional_disks is a space separated list of c?t?d? type disk names&lt;br /&gt;
#&lt;br /&gt;
# For each disk listed in additional_disks, a pair of variables of the form&lt;br /&gt;
#&lt;br /&gt;
# base_config_profile_disk_c?t?d?s?_mtpt=&amp;quot;....&amp;quot;&lt;br /&gt;
# base_config_profile_disk_c?t?d?s?_size=&amp;quot;....&amp;quot;&lt;br /&gt;
#&lt;br /&gt;
# should be defined for each slice required on the disk.&lt;br /&gt;
#&lt;br /&gt;
# N.B. DO NOT SET THE BOOT DISK UP HERE !&lt;br /&gt;
#&lt;br /&gt;
base_config_profile_additional_disks=&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
ie:- If you have disks on c3 and c4 you want to mirror to c5 and c6, 1st lay out the partitions&lt;br /&gt;
&lt;br /&gt;
base_config_profile_addtional_disks=&amp;quot;c3t0d0 c4t0d0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
base_config_profile_disk_c3t0d0s0_mtpt=&amp;quot;/export/extra&amp;quot;&lt;br /&gt;
base_config_profile_disk_c3t0d0s0_size=&amp;quot;10240&amp;quot;&lt;br /&gt;
&lt;br /&gt;
base_config_profile_disk_c4t0d0s3_mtpt=&amp;quot;/export/extra2&amp;quot;&lt;br /&gt;
base_config_profile_disk_c4t0d0s3_size=&amp;quot;10240&amp;quot;&lt;br /&gt;
&lt;br /&gt;
etc etc&lt;br /&gt;
&lt;br /&gt;
And then use the &amp;quot;simple mirrors&amp;quot; bit of the sds template&lt;br /&gt;
############&lt;br /&gt;
#&lt;br /&gt;
# You can also describe other simple mirrors - these only work if you define&lt;br /&gt;
# the partitions in the base_config_profile_disk_ variables&lt;br /&gt;
#&lt;br /&gt;
# The format of this variable is a space separated list of source=target,&lt;br /&gt;
# i.e. c0t1d0=c1t1d0 where the source is the primary&lt;br /&gt;
#&lt;br /&gt;
sds_simple_mirrors=&amp;quot;c3t0d0=c5t0d0 c4t0d0=c6t0d0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Anything more complicated can be achived by creating a md.tab and supplying it to the build (via the SDS module), as there was/is no point in re-inventing the wheel.&lt;br /&gt;
&lt;br /&gt;
==== JetZONES and other modules - an anomoly&lt;br /&gt;
&lt;br /&gt;
JetZONES will work with other modules as normal, except you will see error messages about being unable to locate packages (see below)&lt;br /&gt;
&lt;br /&gt;
This is because the zones module is intended to be architecture neutral and you will see the base_config_ClientArch= is set to &amp;quot;zone&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
After a heavy dig around the code, the only work around would be to change JET core, and that is just not going to happen.&lt;br /&gt;
&lt;br /&gt;
So, it is a case of &amp;quot;BE AWARE&amp;quot; that errors similar to below will appear when you run make_client against the zone template.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Although it says &amp;quot;FAILED&amp;quot; it will still have made the /opt/SUNWjet/Clients/&amp;lt;client&amp;gt; dir&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
An example below shows the build still worked&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
---8&amp;lt; make_client output&lt;br /&gt;
&lt;br /&gt;
checking product base_config/solariszone&lt;br /&gt;
Checking product custom&lt;br /&gt;
WARNING: CUSTOM: Unable to locate custom package SFWmozilla&lt;br /&gt;
--------------------------------------------------------------&lt;br /&gt;
Check of client b1-zone1 &lt;br /&gt;
 &lt;br /&gt;
#######                                                   ###&lt;br /&gt;
#          ##       #    #       ######  #####            ###&lt;br /&gt;
#         #  #      #    #       #       #    #           ###&lt;br /&gt;
#####    #    #     #    #       #####   #    #            #&lt;br /&gt;
#        ######     #    #       #       #    #&lt;br /&gt;
#        #    #     #    #       #       #    #           ###&lt;br /&gt;
#        #    #     #    ######  ######  #####            ###&lt;br /&gt;
&lt;br /&gt;
---8&amp;lt;&lt;br /&gt;
&lt;br /&gt;
---8&amp;lt; jumpstart.log output&lt;br /&gt;
CUSTOM: Installing custom....&lt;br /&gt;
CUSTOM: Installing SFWmozilla from: //var/opt/sun/jet/js_media/pkg/custom/i386&lt;br /&gt;
&lt;br /&gt;
Installation of SFWmozilla was successful.&lt;br /&gt;
CUSTOM: SFWmozilla installation complete&lt;br /&gt;
CUSTOM: Register postinstall script 'postinstall' for boot n&lt;br /&gt;
----------------------------------------------------------&lt;br /&gt;
Product modules processed, finish up installation tasks&lt;br /&gt;
Creating directory: /var/opt/sun/jet/system.add/updated&lt;br /&gt;
Copying file etc/jumpstart.conf to //var/opt/sun/jet/config/jumpstart.conf&lt;br /&gt;
Copying file Utils/smf/jetjump.xml to //var/svc/manifest/site/jetjump.xml&lt;br /&gt;
Copying file Utils/S99jumpstart to //var/opt/sun/jet/post_install/S99jumpstart&lt;br /&gt;
NFS Unmounting Media Directories&lt;br /&gt;
Unmounting /var/opt/sun/jet/js_media/pkg&lt;br /&gt;
:q&lt;br /&gt;
# uname -a&lt;br /&gt;
SunOS b1-zone1 5.10 Generic_118855-33 i86pc i386 i86pc&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting ===&lt;br /&gt;
&lt;br /&gt;
==== Solaris x86 Media on Sparc (and vice-versa)&lt;br /&gt;
&lt;br /&gt;
Jumpstarting with x86 Laptops and SPARC systems&lt;br /&gt;
&lt;br /&gt;
Typically a nice use for laptops is to automate the install or to allow&lt;br /&gt;
the install of systems lacking a CD-ROM drive.&lt;br /&gt;
&lt;br /&gt;
Running setup-install-server&lt;br /&gt;
&lt;br /&gt;
Prior to Solaris 9, you could use the SPARC Solaris CD and run&lt;br /&gt;
setup-install-server on your laptop as well as using an x86 Solaris CD&lt;br /&gt;
on a SPARC based system.&lt;br /&gt;
&lt;br /&gt;
This is no longer the case.&lt;br /&gt;
&lt;br /&gt;
The layout of the CD's for Solaris 8 an prior would contain a copy of&lt;br /&gt;
the miniroot under &amp;quot;Boot&amp;quot; in the Tools directory of the CD-ROM. The&lt;br /&gt;
whole filesystem would be of the &amp;quot;hsfs&amp;quot; type and thus readable across&lt;br /&gt;
architectures.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
user:/cdrom/sol_8_202_ia/Solaris_8/Tools% ls -l&lt;br /&gt;
total 187&lt;br /&gt;
drwxr-xr-x  18 root     other       4096 Dec 18  2001 Boot/&lt;br /&gt;
-rwxr-xr-x   1 root     bin        59058 Nov 27  2001 add_install_client&lt;br /&gt;
-rwxr-xr-x   1 root     sys         1325 Nov 27  2001 dial&lt;br /&gt;
-rwxr-xr-x   1 root     bin        18599 Nov 27  2001 rm_install_client&lt;br /&gt;
-rwxr-xr-x   1 root     bin        11689 Nov 27  2001 setup_install_server&lt;br /&gt;
&lt;br /&gt;
user@machine:/cdrom/sol_8_202_sparc/s0/Solaris_8/Tools% ls -l&lt;br /&gt;
total 187&lt;br /&gt;
drwxr-xr-x  17 root     other       4096 Dec 18  2001 Boot/&lt;br /&gt;
-rwxr-xr-x   1 root     bin        59058 Nov 27  2001 add_install_client&lt;br /&gt;
-rwxr-xr-x   1 root     sys         1325 Nov 27  2001 dial&lt;br /&gt;
-rwxr-xr-x   1 root     bin        18599 Nov 27  2001 rm_install_client&lt;br /&gt;
-rwxr-xr-x   1 root     bin        11689 Nov 27  2001 setup_install_server&lt;br /&gt;
&lt;br /&gt;
user@machine:/% fstyp /vol/dev/dsk/c7t1d0/sol_8_202_ia&lt;br /&gt;
hsfs&lt;br /&gt;
user@machine:/% fstyp /vol/dev/dsk/c1t6d0/sol_8_202_sparc/s0&lt;br /&gt;
hsfs&lt;br /&gt;
user@machine:/% fstyp /vol/dev/dsk/c7t1d0/sol_8_202_ia&lt;br /&gt;
hsfs&lt;br /&gt;
&lt;br /&gt;
s1 contains a ufs copy of the miniroot as well. This is what you're&lt;br /&gt;
actually running from when you boot off of the CD. However, as ufs is&lt;br /&gt;
architecture specific, you can't mount a SPARC ufs partition on an x86&lt;br /&gt;
box and vice versa.&lt;br /&gt;
&lt;br /&gt;
user@machine:/% fstyp /vol/dev/dsk/c1t6d0/sol_8_202_sparc/s1&lt;br /&gt;
ufs&lt;br /&gt;
&lt;br /&gt;
Starting with Solaris 9, there isn't enough space on CD 1 of 2. CD 1 of&lt;br /&gt;
2 should be all that is needed to do an &amp;quot;End User&amp;quot; install. Certain&lt;br /&gt;
packages therefore need to be included there.&lt;br /&gt;
&lt;br /&gt;
The hsfs copy of the miniroot takes up over 200M in the Solaris 8 2/02.&lt;br /&gt;
Freeing up this space was necessary.&lt;br /&gt;
&lt;br /&gt;
With Solaris 9, the &amp;quot;Boot&amp;quot; directory looks like this:&lt;br /&gt;
&lt;br /&gt;
user@machine:/cdrom/sol_9_sparc/s0/Solaris_9/Tools% ls -l&lt;br /&gt;
total 184&lt;br /&gt;
lrwxrwxrwx   1 root     other         11 Apr 15  2002 Boot -&amp;gt; ../../../s1&lt;br /&gt;
-rwxr-xr-x   2 root     bin        59586 Apr 15  2002 add_install_client&lt;br /&gt;
-rwxr-xr-x   2 root     sys         1325 Apr 15  2002 dial&lt;br /&gt;
-rwxr-xr-x   2 root     bin        18599 Apr 15  2002 rm_install_client&lt;br /&gt;
-rwxr-xr-x   2 root     bin        13045 Apr 15  2002 setup_install_server&lt;br /&gt;
&lt;br /&gt;
s1 however is ufs, which is architecture specific.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
user@machine:/% fstyp /vol/dev/dsk/c1t0d0/sol_9_sparc/s1&lt;br /&gt;
ufs&lt;br /&gt;
&lt;br /&gt;
If I attempt to run &amp;quot;setup_install_server&amp;quot; on my x86 laptop from a SPARC&lt;br /&gt;
Solaris 9 CD, you get the following:&lt;br /&gt;
&lt;br /&gt;
# pwd&lt;br /&gt;
/cdrom/sol_9_sparc/Solaris_9/Tools&lt;br /&gt;
# ./setup_install_server /export/install/Solaris_9&lt;br /&gt;
ERROR: Install boot image /cdrom/sol_9_sparc/Solaris_9/Tools/Boot does &lt;br /&gt;
not exist&lt;br /&gt;
        Check that boot image exists, or use [-t] to&lt;br /&gt;
        specify a valid boot image elsewhere&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Getting it to work&lt;br /&gt;
These instructions are architecture neutral. They will work if you are&lt;br /&gt;
trying to configure jumpstart from an x86 server to a SPARC client or&lt;br /&gt;
setting up a SPARC server to jumpstart x86 clients.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Option 1: Use the DVD&lt;br /&gt;
The Solaris OE on DVD has enough space to continue to include the&lt;br /&gt;
miniroot in the architecture neutral portion of itself. The format is&lt;br /&gt;
udfs, which is used for DVD's instead of hsfs for CD's.&lt;br /&gt;
&lt;br /&gt;
This assumes that you, of course, HAVE a DVD drive.&lt;br /&gt;
&lt;br /&gt;
The downside of this is that you get a bunch of stuff that might not&lt;br /&gt;
want to include on your install image. Things such as all of&lt;br /&gt;
localizations and languages take up space on your server's harddrive.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Option 2: Create 2 jumpstart servers&lt;br /&gt;
You can run the setup_install_server script on the system of the same&lt;br /&gt;
architecture and then share it out via NFS to the other system. This of&lt;br /&gt;
course assumes that you have enough temporary space on the system.&lt;br /&gt;
&lt;br /&gt;
Mount up the CD-ROM locally and run &amp;quot;setup_install_server&amp;quot; as if you&lt;br /&gt;
were going to make the system you're on a jumpstart server. I recommend&lt;br /&gt;
installing to /export/install, but you may have another preference.&lt;br /&gt;
After the 1st CD completes, you can add in the second one to the install&lt;br /&gt;
image if you like or add it after you've transferred the image over.&lt;br /&gt;
&lt;br /&gt;
Share out the image via NFS my manually sharing it out using the share&lt;br /&gt;
command or through /etc/dfs/dfstab with a line similar to this:&lt;br /&gt;
&lt;br /&gt;
#Share out the jumpstart directory for installs&lt;br /&gt;
share -F nfs -o ro,anon=0 /export/install&lt;br /&gt;
&lt;br /&gt;
Start the NFS server if necessary.&lt;br /&gt;
&lt;br /&gt;
Mount up the shared directory to your desired server.&lt;br /&gt;
&lt;br /&gt;
Run &amp;quot;setup_install_server&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Option 3: Use NFS&lt;br /&gt;
Using NFS, gets around the architecture issue with ufs. You can mount a&lt;br /&gt;
NFS share on a client and the client doesn't care what the underlying&lt;br /&gt;
filesystem is on the server.&lt;br /&gt;
&lt;br /&gt;
The downside here is that its a bit more complex and that it may take a&lt;br /&gt;
bit longer to setup because you have to install the image over the&lt;br /&gt;
network. Also, you'll need 2 systems, a SPARC based one and a x86 one.&lt;br /&gt;
&lt;br /&gt;
Add the following line to your /etc/rmmount.conf on the system of the&lt;br /&gt;
same architecture that you want to create a jumpstart image of. (If you&lt;br /&gt;
want to put a copy of Solaris 9 SPARC on your x86 laptop, add this line&lt;br /&gt;
to the SPARC system. If you want to do put a Solaris 9 x86 image on your&lt;br /&gt;
SPARC system, the line goes in your x86 system's rmmount.conf)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# share out the CD-ROM&lt;br /&gt;
share cdrom* -o ro,anon=0&lt;br /&gt;
&lt;br /&gt;
This line causes vold automatically share out the CD-ROM and all&lt;br /&gt;
partitions on that CD. This is needed because NFS sharing doesn't span&lt;br /&gt;
filesystems automatically. &amp;quot;anon=0&amp;quot; causes reads by UID=0, which is&lt;br /&gt;
normally mapped to user &amp;quot;nobody&amp;quot; by NFS for security reasons to remain&lt;br /&gt;
mapped to UID=0. This isn't a security issue here because the CD is a&lt;br /&gt;
Read-Only medium anyways.&lt;br /&gt;
&lt;br /&gt;
You will need to re-start vold. Runnning &amp;quot;/etc/init.d/volmgt stop&amp;quot; and&lt;br /&gt;
&amp;quot;/etc/init.d/volmgt start&amp;quot; will do this.&lt;br /&gt;
&lt;br /&gt;
You'll likely need to start up the NFS server processes as well. You can&lt;br /&gt;
either manually start them each time you boot your system or put the&lt;br /&gt;
following into /etc/dfs/dfstab&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
share -F nfs -o ro,anon=0 /cdrom&lt;br /&gt;
&lt;br /&gt;
If you don't have NFS already sharing out filesystems, you'll need to&lt;br /&gt;
start it byt running &amp;quot;/etc/init.d/nfs.server start&amp;quot; as root.&lt;br /&gt;
&lt;br /&gt;
At this point, drop in your CD into the appropriate system. It should&lt;br /&gt;
mount and share things automatically.&lt;br /&gt;
&lt;br /&gt;
# mount&lt;br /&gt;
/cdrom/sol_9_x86/s2 on /vol/dev/dsk/c1t0d0/sol_9_x86/s2 read &lt;br /&gt;
only/nosuid/maplcase/noglobal/rr/traildot/dev=1740003 on Tue Dec  3 &lt;br /&gt;
15:09:39 2002&lt;br /&gt;
/cdrom/sol_9_x86/s0 on /vol/dev/dsk/c1t0d0/sol_9_x86/s0 read &lt;br /&gt;
only/nosuid/intr/largefiles/onerror=panic/dev=1740001 on Tue Dec  3 &lt;br /&gt;
15:09:39 2002&lt;br /&gt;
&lt;br /&gt;
# share&lt;br /&gt;
-               /cdrom   ro,anon=0   &amp;quot;&amp;quot;&lt;br /&gt;
-               /cdrom/sol_9_x86/s2   ro,anon=0   &amp;quot;&amp;quot;&lt;br /&gt;
-               /cdrom/sol_9_x86/s0   ro,anon=0   &amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
At this point you should be able to CD down&lt;br /&gt;
to the appropriate location to run your setup_install_server.&lt;br /&gt;
&lt;br /&gt;
# pwd&lt;br /&gt;
/&lt;br /&gt;
# cd /cdrom/sol_9_x86/s2/Solaris_9/Tools&lt;br /&gt;
# pwd&lt;br /&gt;
/cdrom/sol_9_x86/s2/Solaris_9/Tools&lt;br /&gt;
# ls&lt;br /&gt;
Boot                  dial                  setup_install_server&lt;br /&gt;
add_install_client    rm_install_client&lt;br /&gt;
&lt;br /&gt;
Alternately, you can mount up the directories manually. For example:&lt;br /&gt;
&lt;br /&gt;
# mount -F nfs -o ro dhcp-ublm02-228-227:/cdrom /mnt&lt;br /&gt;
# mount -F nfs -o ro dhcp-ublm02-228-227:/cdrom/sol_9_x86/s0 &lt;br /&gt;
/mnt/sol_9_x86/s0&lt;br /&gt;
# mount -F nfs -o ro dhcp-ublm02-228-227:/cdrom/sol_9_x86/s2 &lt;br /&gt;
/mnt/sol_9_x86/s2&lt;br /&gt;
&lt;br /&gt;
All 3 mounts are needed as we have 3 separate filesystems and NFS&lt;br /&gt;
doesn't span filesystems.&lt;br /&gt;
&lt;br /&gt;
Now run your &amp;quot;setup_install_server&amp;quot; script.&lt;br /&gt;
&lt;br /&gt;
# ./setup_install_server /export/install/sol_9_x86&lt;br /&gt;
Verifying target directory...&lt;br /&gt;
Calculating the required disk space for the Solaris_9 product&lt;br /&gt;
Calculating space required for the installation boot image&lt;br /&gt;
Copying the CD image to disk...&lt;br /&gt;
Copying Install Boot Image hierarchy...&lt;br /&gt;
Install Server setup complete&lt;br /&gt;
&lt;br /&gt;
You can either install the CDROM 2 of 2 through this method or drop it&lt;br /&gt;
in locally as it is in the hsfs format.&lt;br /&gt;
&lt;br /&gt;
There are lots of ways that this can be done outside of this particular&lt;br /&gt;
method. Your mileage may vary.&lt;br /&gt;
&lt;br /&gt;
==== ARP/RARP Timeouts&lt;br /&gt;
&lt;br /&gt;
When building a server, you can get the ethernet address from the Open Boot Prom 'banner' command at the 'ok' prompt. By default, this ethernet address is shared between all the ethernet interfaces of the host, so performing a JumpStart off an ethernet interface other than the default alias 'net' proceeds as normal.&lt;br /&gt;
&lt;br /&gt;
When using IPMP or Sun Cluster 3, the value of the Open Boot Prom 'local-mac-address' option is set to true which in turn means that every ethernet interface uses it's own ethernet address, and not the hardcoded one in the Open Boot Prom.&lt;br /&gt;
&lt;br /&gt;
On subsequent re-build attempts over the onboard default 'net' interface, everything is ok; however, if you are building over a different device to 'net' the ethernet address may not match the one you originally used in your template.&lt;br /&gt;
&lt;br /&gt;
As the JumpStart server /etc/ethers files does not match this new ethernet address, it is unable to reply to the booting machine, hence the extended period of ARP/RARP timeouts.&lt;br /&gt;
&lt;br /&gt;
To locate mac addresses for different adapters when local-mac-address? is set to true, you can do the following:&lt;br /&gt;
&lt;br /&gt;
    * At the OBP prompt, do a 'show-nets' to list the network adapters available&lt;br /&gt;
    * Select the adapter&lt;br /&gt;
    * cd &amp;lt;ctrl+y&amp;gt;&lt;br /&gt;
    * .properties&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== System hangs at a # prompt&lt;br /&gt;
&lt;br /&gt;
If 'diag-switch?' is set to true in OBP, the system will hang at the '#' prompt prior to rebooting, just after Solaris has installed.&lt;br /&gt;
&lt;br /&gt;
This seems to happen on all types of hosts from V100's through to F15Ks. You need to use the appropriate commands to change the obp setting depending on your platform.&lt;br /&gt;
&lt;br /&gt;
==== Forcing Speed/Duplex during JumpStart&lt;br /&gt;
&lt;br /&gt;
You really should just use Auto-negotiation on switches; it works these days and is reliable.&lt;br /&gt;
&lt;br /&gt;
Turning autonegotiation off and setting speed/mode manually is called&lt;br /&gt;
&amp;quot;forced mode&amp;quot;.&lt;br /&gt;
For the Sun[TM] GigaSwift on-board interfaces and Network Interface Cards&lt;br /&gt;
(ce), and for bge on-board interfaces, boot in &amp;quot;forced mode&amp;quot; is possible.&lt;br /&gt;
&lt;br /&gt;
In jumpstart &amp;quot;boot net&amp;quot;, 3 steps are involved.&lt;br /&gt;
The driver must be forced in all 3 steps of the jumpstart boot process.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
o 1st Step: force the interface on boot prom for booting&lt;br /&gt;
&lt;br /&gt;
ok boot /pci@1f,2000/pci@1/network@0:speed=100,duplex=full,&lt;br /&gt;
        or&lt;br /&gt;
ok devalias net /pci@1f,2000/pci@1/network@0:speed=100,duplex=full,&lt;br /&gt;
ok boot net&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
o 2nd Step: inetboot is loaded.&lt;br /&gt;
&lt;br /&gt;
An inetboot file on the boot server which honours the &amp;quot;forced&amp;quot; ce setting &lt;br /&gt;
is needed. &lt;br /&gt;
This is included in Solaris 8 Patch-ID# 111306-05 , for Solaris 9, it's&lt;br /&gt;
Patch-ID# 113578-01 .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
o 3rd Step: client uses the OS from the file system of the boot server&lt;br /&gt;
&lt;br /&gt;
create a&lt;br /&gt;
../Boot/platform/sun4u/kernel/drv/ce.conf  or&lt;br /&gt;
../Boot/platform/sun4u/kernel/drv/bge.conf&lt;br /&gt;
(the same directory, in which the ce 32 bit driver sits, one single line,&lt;br /&gt;
example for 100 FDX):&lt;br /&gt;
&lt;br /&gt;
adv_autoneg_cap=0 adv_1000fdx_cap=0 adv_1000hdx_cap=0 adv_100fdx_cap=1 &lt;br /&gt;
adv_100hdx_cap=0 adv_10fdx_cap=0 adv_10hdx_cap=0;&lt;br /&gt;
&lt;br /&gt;
==== JumpStart &amp;amp; JET logs&lt;br /&gt;
&lt;br /&gt;
JumpStart saves a log of the output from the system install in the file /var/sadm/system/logs/finish.log. The bad news, is that only covers the log output up to the reboot at the end of the initial install.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
JET includes post-reboot processing in most cases, so the complete JET log (a superset of the JumpStart log) can be found at /var/opt/sun/jet/jumpstart_install.log. There is also a link to the system log called finish.log in the same directory.&lt;br /&gt;
&lt;br /&gt;
The JET log will include the system finish log output and also any output from JET processing at subsequent reboots.&lt;br /&gt;
&lt;br /&gt;
==== Solaris 10, SSH doesn't start&lt;br /&gt;
&lt;br /&gt;
When JumpStart'ing Solaris 10 GA (and maybe some of the updates), the ssh software is installed but the daemon doesn't start; 'svcs -a' reporting it in a maintenance state.&lt;br /&gt;
&lt;br /&gt;
The root cause is that the ssh host key is not created for some reason, so you need to execute the following commands:&lt;br /&gt;
&lt;br /&gt;
/lib/svc/method/sshd -c&lt;br /&gt;
/usr/sbin/svcadm clear network/ssh&lt;br /&gt;
&lt;br /&gt;
In JET, you could put the commands into a script in /opt/jet/Clients/common.files/fixup-ssh and then use custom_scripts=&amp;quot;fixup-ssh&amp;quot; to get JET to fix the problem for you.&lt;br /&gt;
&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
#&lt;br /&gt;
# Fix Up SSH on Solaris 10&lt;br /&gt;
#&lt;br /&gt;
if [ ! -f /etc/ssh/ssh_host_rsa_key -o ! -f /etc/ssh/ssh_host_dsa_key ]; then&lt;br /&gt;
        /lib/svc/method/sshd -c&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
/usr/sbin/svcadm clear network/ssh&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== TFTP Problems While Booting&lt;br /&gt;
&lt;br /&gt;
A number of people have come across problems with TFTP; specifically TFTP failing during (or sometimes at the start of) a transfer.&lt;br /&gt;
&lt;br /&gt;
TFTP is the 'Trivial File Transfer Protocol' and as such has some simple limitations. One such, is that the original protocol allows up to 65,536 blocks to be transferred; each block defaulting to 512 bytes -&amp;gt; 32Mb limit.&lt;br /&gt;
&lt;br /&gt;
Some implementations allow the block size to be increased, others allow the block counter to roll-over; 65,536 == 0 again.&lt;br /&gt;
&lt;br /&gt;
Sun changed their in.tfptd implementation between Solaris 8 and 9, and from tests, it seems they have added the 'change block size' code. Tests on Solaris 9 and 10 indicate that the Sun in.tftpd server still stops at block 65,536 though.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Solaris 10 Update 1 for x86/64 has a new boot mechanism, and the file to be downloaded via TFTP is 48Mb or so. If you are using a Solaris 8 JumpStart server, then you are going to hit trouble. Either move to Solaris 9 or you could try and take the in.tftpd binary from a Solaris 9 client.If things still don't work, then you could go off and google for a replacement tftpd server; http://www.kernel.org/pub/software/network/tftp/ has done the trick for me in the past, and doesn't need much to convince it to compile under Solaris.&lt;br /&gt;
&lt;br /&gt;
==== Solaris 10 Update 1 and Flash archive problems&lt;br /&gt;
&lt;br /&gt;
When deploying a flash archive taken from a Solaris 10 Update 1 install, the initial flash completes, but subsequent JET processing stops after the first reboot.&lt;br /&gt;
&lt;br /&gt;
When you build a system using flash on Solaris 10, the smf(1m) database gets stored as part of the flash archive. Under Solaris 10 GA/FCS, the smf(1m) database entries were keyed using the manifest inode number (amongst other things), so when you redeployed the flash, the inode numbers changed and smf(1m) re-scanned the manifest files.&lt;br /&gt;
&lt;br /&gt;
Under Solaris 10 Update 1, Sun have removed the inode time from the database key, so it doesn't rebuild the database as it used to.&lt;br /&gt;
&lt;br /&gt;
If you built the original system using JET, the jetjump.xml file is still 'known about' by the smf(1m) database, so when you come to deploy the flash archive using JET, smf(1m) happily ignores the newly deposited jetjump.xml file.&lt;br /&gt;
&lt;br /&gt;
Officially, this is a bug/feature introduced in Solaris 10 Update 1 (BugID 6251841). The version of JET about to be released has a work around for this situation, so it will go away.&lt;br /&gt;
&lt;br /&gt;
The work around for now, is to do the following *before* creating the flash archive:&lt;br /&gt;
&lt;br /&gt;
# svccfg -s smf/manifest delpg var_svc_manifest_site_jetjump_xml&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This 'feature' is also present in Nevada builds (Solaris Express / Solaris 11).&lt;br /&gt;
&lt;br /&gt;
==== I am warned about missing patches, but cannot add&lt;br /&gt;
&lt;br /&gt;
If you get the warning&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
WARNING: Patch 119375-11 has not been applied to the boot image.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
And then run the patchadd -C command as instructed, only to be told the patch is already present,&lt;br /&gt;
&lt;br /&gt;
This may be because patchadd was broken in Solaris 10 (03/05) and failed to check correctly. This has been fixed with later versions/patches.&lt;br /&gt;
&lt;br /&gt;
Alternatively if you are using Solaris 10 01/06 or later there is an issue that patchadd cannot check the mini-root.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As it is only a WARNING, it will not cause make_client to fail. If make_client fails, look back to identify earlier FAIL messages.&lt;br /&gt;
&lt;br /&gt;
A future release of JET may well bypass this error&lt;br /&gt;
&lt;br /&gt;
=== Bug / Problem Reporting ===&lt;br /&gt;
&lt;br /&gt;
==== Having Problems with JET and need help ?&lt;br /&gt;
&lt;br /&gt;
If you post a question here that concerns a specific problem you are seeing with JET, then please include the template and the output from /var/opt/sun/jet/jumpstart_install.log - or at the very least, say you have that information and be prepared to send it on to who ever elects to try to help you. &lt;br /&gt;
&lt;br /&gt;
==== Reporting a Bug&lt;br /&gt;
&lt;br /&gt;
Think you've found a bug in JET ? If so, first up check it is a bug by asking the appropriate question on this website or send your theory and reasoning to jet@sun.com.&lt;br /&gt;
&lt;br /&gt;
JET 'evolved' over about 5+ years, so the chance of someone making a mistake in the scripting is not beyond possibility! It could however be something JET was not designed for in which case it's an RFE - Request For Enhancement.&lt;br /&gt;
&lt;br /&gt;
==== Request For Enhancements (RFEs)&lt;br /&gt;
&lt;br /&gt;
If you discover something you want changed in JET, then it normally falls into two categories:&lt;br /&gt;
&lt;br /&gt;
    Implement it in a module&lt;br /&gt;
&lt;br /&gt;
        Support for non-core features or additional configuration work can be easily delivered through a new JET module. This way, the main code base stays unaffected for the vast majority of people who use it, and the module can evolve as the authors see fit.&lt;br /&gt;
&lt;br /&gt;
    Submit the change as an RFE&lt;br /&gt;
&lt;br /&gt;
        If the feature needs to go into the main JET package or one of the pre-supplied modules and can not be delivered as a module, then you need to discuss the matter with the JET folks at Sun (jet@sun.com) and work on drafting an RFE. Depending on how much they agree with your suggestion and how much time they have, the actual change could be made quickly or could take months - such is the nature of change.&lt;/div&gt;</summary>
		<author><name>Marty</name></author>
	</entry>
	<entry>
		<id>https://jet.maui.co.uk/wiki/index.php?title=Faq&amp;diff=1353</id>
		<title>Faq</title>
		<link rel="alternate" type="text/html" href="https://jet.maui.co.uk/wiki/index.php?title=Faq&amp;diff=1353"/>
		<updated>2007-09-03T13:33:12Z</updated>

		<summary type="html">&lt;p&gt;Marty: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Frequently Asked Questions ==&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
&lt;br /&gt;
==== What are these '.pkg'/'pkg.bz2' files ? ====&lt;br /&gt;
&lt;br /&gt;
&amp;quot;I've just downloaded the packages from the website, and now have files with a .pkg suffix. What do I do next ?&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The files you have are datastream packages. To install them, run&lt;br /&gt;
&lt;br /&gt;
      pkgadd -d filename.pkg&lt;br /&gt;
&lt;br /&gt;
rather than the more usual pkgadd -d . [pkgname]&lt;br /&gt;
&lt;br /&gt;
You can migrate the datastream format packages to regular directory based packages by using the pkgtrans(1m) command.&lt;br /&gt;
&lt;br /&gt;
      pkgtrans filename.pkg . all&lt;br /&gt;
&lt;br /&gt;
Basically, read up on pkgadd(1m) and pkgtrans(1m) !&lt;br /&gt;
&lt;br /&gt;
==== A GUI Frontend for JET ====&lt;br /&gt;
&lt;br /&gt;
Is there a Web Front End for JET ?&lt;br /&gt;
&lt;br /&gt;
Probably the most frequently requested feature. The short answer is 'no, there is no generic web front end for JET'.&lt;br /&gt;
&lt;br /&gt;
The long answer is that typically, web front ends are written to expose a subset of the features available in JET. For the case of 'standard builds', you may wish to have a pull down list of available builds and just plug in the MAC and IP addresses etc.&lt;br /&gt;
&lt;br /&gt;
As these front ends, with only a subset of features presented, are very much customised for a particular use/customer, it's work you need to do!&lt;br /&gt;
&lt;br /&gt;
If a 'generic web front end' was provided, it would need to be kept up to date with every modification to the toolkit. Quite frankly, it isn't going to be that useful to many people.&lt;br /&gt;
&lt;br /&gt;
JET has been designed so it is pretty easy to front end yourself.&lt;br /&gt;
&lt;br /&gt;
==== Getting Help with JET ====&lt;br /&gt;
&lt;br /&gt;
There are a number of places you can go for help with JET; first up is obviously Sun themselves - Email the people who look after JET on the alias jet@sun.com and someone should get back to you pretty quickly (UK Timezone).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sun have also put up information on the JET BigAdmin page at http://www.sun.com/bigadmin/content/jet/ and Mike Ramchand (one of the authors) tends to write things about JET in his blog at http://blogs.sun.com/roller/page/mramcha/20050826&lt;br /&gt;
&lt;br /&gt;
External to Sun are a number of resources; there is a Yahoo group at http://groups.yahoo.com/group/JETJumpStart/ and of course, you can approach me (marty at Maui-Systems dot co dot uk) as the other author of the toolkit from when I used to work for Sun.&lt;br /&gt;
&lt;br /&gt;
==== Whats in the Free Bundle ? ====&lt;br /&gt;
&lt;br /&gt;
The JET bundle downloadable from http;//www.sun.com/downloads currently (as of May 2006) contains the following modules.&lt;br /&gt;
&lt;br /&gt;
    * SUNWjet - The core JET product&lt;br /&gt;
    * SUNWjetd - The documentation - Please read&lt;br /&gt;
    * JetSDS - Configure SVM/SDS&lt;br /&gt;
    * JetVTS - Install the Test Suite&lt;br /&gt;
    * JetEXPLO - Install and configure Explorer&lt;br /&gt;
    * JetFLASH - Utilise flash archives for installation&lt;br /&gt;
    * JetSAN - Configure SANs&lt;br /&gt;
    * JetJASS - JASS toolkit install and configuration&lt;br /&gt;
    * JetZONES - Add local zones to your Solaris 10 global zones as part of the build&lt;br /&gt;
    * JetWanBoot - Plugin to allow JET to perform WANBOOTt installations&lt;br /&gt;
    * JetRBAC - Enables none root users to run JET using RBAC&lt;br /&gt;
&lt;br /&gt;
Sun releases/refreshes the bundle on an ad-hoc basis and normally communicates this fact to the comp.unix.solaris and alt.solaris.x86 newsgroups.&lt;br /&gt;
&lt;br /&gt;
==== Solaris 10 U1 (01/06) grub/newboot ====&lt;br /&gt;
&lt;br /&gt;
With the release of Solaris 10 Update 1 (01/06), the x86/64 platform boot method was transitioned to 'grub', finally doing away with the old DCA pre-boot environment. This new boot method was refered to as &amp;quot;newboot&amp;quot; internally to Sun and the phrase seems to have stuck.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To deal with this a JetNEWBOOT module was developed to &amp;quot;plugin&amp;quot; to JET versions prior to JET 4.2 to support this new boot environment. When JET 4.2 is released, the 'grub' installation method will be part of the core JET product.&lt;br /&gt;
&lt;br /&gt;
When using JetNEWBOOT, all you need to amend in your template is the&lt;br /&gt;
&lt;br /&gt;
    * base_config_allocation_method=&amp;quot;newboot&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As a guide to what to use:&lt;br /&gt;
&lt;br /&gt;
    * With Solaris 10 GA (03/05)&lt;br /&gt;
          o base_config_allocation_method=&amp;quot;dhcp&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    * With Solaris 10 Update 1 (01/06) and above, JET (&amp;lt; 4.2) and JetNEWBOOT&lt;br /&gt;
          o base_config_allocation_method=&amp;quot;newboot&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    * With Solaris 10 Update 1 (01/06) and above, JET (&amp;gt;= 4.2)&lt;br /&gt;
          o base_config_allocation_method=&amp;quot;grub&amp;quot;&lt;br /&gt;
&lt;br /&gt;
JetNEWBOOT is now part of the downloadable bundle from Sun but will not be required once JET 4.2 is released.&lt;br /&gt;
&lt;br /&gt;
==== Using 'iso' images instead of CD/DVDs&lt;br /&gt;
&lt;br /&gt;
The following was derived from information at http://www.unix.com/showthread.php?t=18074&lt;br /&gt;
&lt;br /&gt;
When using Solaris ISO images, the start of the image contains a hsfs (high sierra filesystem) with a couple of ufs filesystems appended to the end of it.&lt;br /&gt;
&lt;br /&gt;
The problem, is that using lofiadm, only the hsfs image is spotted and made available; the ufs filesystems are not seen, so you end up with broken links to 's1' and the like.&lt;br /&gt;
&lt;br /&gt;
To set up a JumpStart server using Solaris ISO images, you must have access to both slice 0 and slice 1 on the image.&lt;br /&gt;
&lt;br /&gt;
To fix the problem, split the contents of slice 1 into it's own image file and then mount this image separately using lofi.&lt;br /&gt;
&lt;br /&gt;
The following procedure describes how to do this.&lt;br /&gt;
Code:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# ls -l sol-9*&lt;br /&gt;
-rw-r--r-- 1 root root 576364544 Jan 1 11:16 sol-9-u1-sparc-v1.iso&lt;br /&gt;
-rw-r--r-- 1 root root 291962880 Jan 1 21:42 sol-9-u1-sparc-v2.iso&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This only applies to CD 1, all other isos can be mounted using lofiadm in the normal way.&lt;br /&gt;
&lt;br /&gt;
(1) Get a copy of the VTOC from the ISO image:&lt;br /&gt;
Code:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# dd if=sol-9-u1-sparc-v1.iso of=vtoc bs=512 count=1&lt;br /&gt;
&lt;br /&gt;
1+0 records in&lt;br /&gt;
1+0 records out&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(2) Now find out where Slice 1 starts in the image and how long it is. The starting cylinder for slice 1 is located at offset 452 (decimal) into the VTOC; the length in blocks is at offset 456, with both being 4 bytes long.&lt;br /&gt;
Code:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# od -D -j 452 -N 8 &amp;lt; vtoc&lt;br /&gt;
0000000 0000000888 0000546560&lt;br /&gt;
0000010&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Slice 1 starts on cylinder 888, and is 546,560 blocks long. CD for the Solaris OS always have 640 blocks per cylinder, so you can find the starting block of slice 1 as follows:&lt;br /&gt;
Code:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# echo 888*640 | bc&lt;br /&gt;
568320&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
So now you know s1 starts at block 568320 and is 546560 blocks long.&lt;br /&gt;
&lt;br /&gt;
(3) Copy slice one into a separate file:&lt;br /&gt;
Code:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# dd if=sol-9-u1-sparc-v1.iso of=sol-9-u1-sparc-v1-s1.iso bs=512 skip=568320 count=546560&lt;br /&gt;
&lt;br /&gt;
546560+0 records in&lt;br /&gt;
546560+0 records out&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(4) Mount both slice 0 and slice 1 as follows:&lt;br /&gt;
Code:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# mkdir /cd&lt;br /&gt;
# mkdir /cd/s0&lt;br /&gt;
# mkdir /cd/s1&lt;br /&gt;
# lofiadm -a /path_to/sol-9-u1-sparc-v1.iso&lt;br /&gt;
/dev/lofi/1&lt;br /&gt;
# lofiadm -a /path_to/sol-9-u1-sparc-v1-s1.iso&lt;br /&gt;
/dev/lofi/2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
When you mount slice 1, remember that it is a UFS partition, not HSFS as is usual on a CD-ROM:&lt;br /&gt;
Code:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# mount -F hsfs -o ro /dev/lofi/1 /cd/s0&lt;br /&gt;
# mount -F ufs -o ro /dev/lofi/2 /cd/s1&lt;br /&gt;
# cd /cd/s0/Solaris_9/Tools/&lt;br /&gt;
# ./setup_install_server /destination_dir&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== How To Upgrade JET&lt;br /&gt;
&lt;br /&gt;
Upgrading JET is normally as easy as&lt;br /&gt;
&lt;br /&gt;
    * pkgrm SUNWjet&lt;br /&gt;
    * pkgadd -d . SUNWjet&lt;br /&gt;
&lt;br /&gt;
The JET packages were designed so that they don't remove your configs, templates or other 'configuration' settings when removed. However, if you hack the JET scripts etc, then this will remove your customisations - hence the reason hacking JET is frowned upon and you are recommended to look at writing your own modules instead.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
However, if you are upgrading from JET 3.x to 4.x, then you need to do some additional work. The following was taken from Mike's Sun blog&lt;br /&gt;
&lt;br /&gt;
    Things might be a little trickier if you've already got JET 3.7.3 installed, and you want to keep you existing templates etc. The easiest way to accomplish this is to pkgrm all your existing JET packages. (SUNWjet, and all the packages that start with JET), and then&lt;br /&gt;
&lt;br /&gt;
        mv /opt/jet /opt/SUNWjet&lt;br /&gt;
&lt;br /&gt;
    Finally install the new JET packages.If you've created you own custom modules or scripts, you may need to check them to ensure you haven't hard-coded any /opt/jet paths in them.&lt;br /&gt;
&lt;br /&gt;
The extra bits are&lt;br /&gt;
&lt;br /&gt;
    * remember to update your .profile with the new path (/opt/SUNWjet/bin)&lt;br /&gt;
    * if you have any existing clients, you will need to re-run 'make_client' on them, as /etc/bootparams and/or dhcp macro table will have the directory /opt/jet mentioned as the config directory, rather than the new /opt/SUNWjet&lt;br /&gt;
&lt;br /&gt;
==== How to set up JET as a PXE (DHCP) Server&lt;br /&gt;
&lt;br /&gt;
The easiest way of setting up JET to serve up PXE boot clients (or other DHCP clients) is to copy, edit and then run the &amp;quot;helper script&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
cp /opt/SUNWjet/Products/base_config/solaris/make_dhcp /var/tmp&lt;br /&gt;
&lt;br /&gt;
edit it to suit your network&lt;br /&gt;
ie&lt;br /&gt;
&lt;br /&gt;
    NETWORK=10.1.1.0&lt;br /&gt;
&lt;br /&gt;
    NETMASK=255.255.255.0&lt;br /&gt;
&lt;br /&gt;
    ROUTER=10.1.1.1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    dhcpconfig -D -r SUNWfiles -p /var/tmp&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    dhcpconfig -N ${NETWORK} -m ${NETMASK} -t ${ROUTER}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Then run it, /var/tmp/make_dhcp&lt;br /&gt;
&lt;br /&gt;
JET will now &amp;quot;do the right thing&amp;quot; based on the allocation method in your template.&lt;br /&gt;
&lt;br /&gt;
==== I noticed alot of docs for jumpstart setup for solaris8,9 I dont see one for solaris10. Why isnt there one for 10? i am interesting in setting up jumpstart for upgrades and clean install. is is safe to do jumpstart straioght from sol7 to sol10?&lt;br /&gt;
&lt;br /&gt;
JET was originally developed in the era of Solaris 7, 8 and 9. As such whatever documentation there is, normally uses one of those in examples.&lt;br /&gt;
&lt;br /&gt;
JET works fine with Solaris 10, and unless anything specific is said, it works in the same fashion with 10 (and indeed 11) in the same fashion as previous versions of Solaris.&lt;br /&gt;
&lt;br /&gt;
JET doesn't deal with upgrades at all; if you want to upgrade using JumpStart, then you need to hand-craft something - there are too many risks for JET to be able to claim to work properly in every situation, so it doesn't claim to do upgrades at all.&lt;br /&gt;
&lt;br /&gt;
===&lt;/div&gt;</summary>
		<author><name>Marty</name></author>
	</entry>
	<entry>
		<id>https://jet.maui.co.uk/wiki/index.php?title=Copy&amp;diff=1352</id>
		<title>Copy</title>
		<link rel="alternate" type="text/html" href="https://jet.maui.co.uk/wiki/index.php?title=Copy&amp;diff=1352"/>
		<updated>2006-09-26T16:11:53Z</updated>

		<summary type="html">&lt;p&gt;Marty: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This module allows you to copy files or media from NFS servers to the client being built.&lt;br /&gt;
&lt;br /&gt;
After adding the module to the JET server, add the module to an appropriate template:&lt;br /&gt;
 # make_template -f -T &amp;amp;lt;client&amp;amp;gt; &amp;amp;lt;client&amp;amp;gt; copy&lt;br /&gt;
Then edit the template and specify the name of the file that contains the list of things to copy; the template has an example of the format of the file.&lt;br /&gt;
&lt;br /&gt;
[[Media:JetMauiCOPY.pkg|Copy module (Rev 1.0.3)]]&lt;/div&gt;</summary>
		<author><name>Marty</name></author>
	</entry>
	<entry>
		<id>https://jet.maui.co.uk/wiki/index.php?title=Copy&amp;diff=1351</id>
		<title>Copy</title>
		<link rel="alternate" type="text/html" href="https://jet.maui.co.uk/wiki/index.php?title=Copy&amp;diff=1351"/>
		<updated>2006-09-26T15:09:17Z</updated>

		<summary type="html">&lt;p&gt;Marty: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This module allows you to copy files or media from NFS servers to the client being built.&lt;br /&gt;
&lt;br /&gt;
After adding the module to the JET server, add the module to an appropriate template:&lt;br /&gt;
 # make_template -f -T &amp;amp;lt;client&amp;amp;gt; &amp;amp;lt;client&amp;amp;gt; copy&lt;br /&gt;
Then edit the template and specify the name of the file that contains the list of things to copy; the template has an example of the format of the file.&lt;br /&gt;
&lt;br /&gt;
[[Media:JetMauiCOPY.pkg|Copy module (Rev 1.0.2)]]&lt;/div&gt;</summary>
		<author><name>Marty</name></author>
	</entry>
	<entry>
		<id>https://jet.maui.co.uk/wiki/index.php?title=File:JetMauiCOPY.pkg&amp;diff=1350</id>
		<title>File:JetMauiCOPY.pkg</title>
		<link rel="alternate" type="text/html" href="https://jet.maui.co.uk/wiki/index.php?title=File:JetMauiCOPY.pkg&amp;diff=1350"/>
		<updated>2006-09-26T15:08:52Z</updated>

		<summary type="html">&lt;p&gt;Marty: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Marty</name></author>
	</entry>
	<entry>
		<id>https://jet.maui.co.uk/wiki/index.php?title=Copy&amp;diff=1349</id>
		<title>Copy</title>
		<link rel="alternate" type="text/html" href="https://jet.maui.co.uk/wiki/index.php?title=Copy&amp;diff=1349"/>
		<updated>2006-09-26T09:52:53Z</updated>

		<summary type="html">&lt;p&gt;Marty: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This module allows you to copy files or media from NFS servers to the client being built.&lt;br /&gt;
&lt;br /&gt;
After adding the module to the JET server, add the module to an appropriate template:&lt;br /&gt;
 # make_template -f -T &amp;amp;lt;client&amp;amp;gt; &amp;amp;lt;client&amp;amp;gt; copy&lt;br /&gt;
Then edit the template and specify the name of the file that contains the list of things to copy; the template has an example of the format of the file.&lt;br /&gt;
&lt;br /&gt;
[[Media:JetMauiCOPY_1.0.1.pkg|Copy module (Rev 1.0.1)]]&lt;/div&gt;</summary>
		<author><name>Marty</name></author>
	</entry>
	<entry>
		<id>https://jet.maui.co.uk/wiki/index.php?title=File:JetMauiCOPY_1.0.1.pkg&amp;diff=1348</id>
		<title>File:JetMauiCOPY 1.0.1.pkg</title>
		<link rel="alternate" type="text/html" href="https://jet.maui.co.uk/wiki/index.php?title=File:JetMauiCOPY_1.0.1.pkg&amp;diff=1348"/>
		<updated>2006-09-26T09:52:19Z</updated>

		<summary type="html">&lt;p&gt;Marty: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Marty</name></author>
	</entry>
	<entry>
		<id>https://jet.maui.co.uk/wiki/index.php?title=Resources&amp;diff=1347</id>
		<title>Resources</title>
		<link rel="alternate" type="text/html" href="https://jet.maui.co.uk/wiki/index.php?title=Resources&amp;diff=1347"/>
		<updated>2006-09-19T08:48:05Z</updated>

		<summary type="html">&lt;p&gt;Marty: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== JET Web Resources ==&lt;br /&gt;
&lt;br /&gt;
* [http://onesearch.sun.com/search/onesearch/index.jsp?col=downloads-products&amp;amp;qt=JumpStart+Enterprise+Toolkit JET Download]&lt;br /&gt;
* [http://www.sun.com/bigadmin/content/jet/ JET @ BigAdmin]&lt;br /&gt;
* [mailto:jet@sun.com Sun's JET Alias] - for reporting bugs or asking Sun for help etc&lt;br /&gt;
* [http://groups.yahoo.com/group/JETJumpStart/ JET Yahoo Group] &amp;amp; [mailto:JumpStart@yahoogroups.com JET Yahoo Group mail alias]&lt;br /&gt;
&lt;br /&gt;
== Modules ==&lt;br /&gt;
&lt;br /&gt;
* [[CustomUpdate]] : Automatically keeps your custom packages up to date from your packages directory&lt;br /&gt;
* [[Copy]] : Module that specialises in copying files or directories as part of the install process&lt;br /&gt;
* [[N1SM]] : Sun N1 System Manager installation module&lt;/div&gt;</summary>
		<author><name>Marty</name></author>
	</entry>
	<entry>
		<id>https://jet.maui.co.uk/wiki/index.php?title=Main_Page&amp;diff=1346</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://jet.maui.co.uk/wiki/index.php?title=Main_Page&amp;diff=1346"/>
		<updated>2006-09-19T08:47:32Z</updated>

		<summary type="html">&lt;p&gt;Marty: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOEDITSECTION__ __NOTOC__&lt;br /&gt;
== News ==&lt;br /&gt;
[[Image:Jumpstart_title.gif|Jumpstart_title.gif|frame|]]&lt;br /&gt;
&amp;lt;rss&amp;gt;http://jet.maui.co.uk/blog/?feed=rss2&amp;amp;category_name=News|title=none|max=5&amp;lt;/rss&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== JET Resources ==&lt;br /&gt;
&lt;br /&gt;
* [[Documents|JET Documents]]&lt;br /&gt;
* [[Resources|JET Resources]]&lt;br /&gt;
* [http://jet.maui.co.uk/faq JET FAQ]&lt;br /&gt;
&lt;br /&gt;
If you wish to contribute to the JET Resources community, please contact us and ask for access to the Wiki.&lt;br /&gt;
&lt;br /&gt;
== About JET ==&lt;br /&gt;
&lt;br /&gt;
=== What Is the JumpStart Enterprise Toolkit ? ===&lt;br /&gt;
&lt;br /&gt;
The JumpStart Enterprise Toolkit is the name given to the Sun Microsystems JumpStart Framework, developed by Sun in the UK. The toolkit is part of the N1 SPS suite and is available as a seperate download from [http://onesearch.sun.com/search/onesearch/index.jsp?col=downloads-products&amp;amp;qt=JumpStart+Enterprise+Toolkit Sun Download Centre]&lt;br /&gt;
&lt;br /&gt;
=== JumpStart Information ===&lt;br /&gt;
&lt;br /&gt;
There are many benefits to using a framework to extend the functionality of JumpStart, for example:&lt;br /&gt;
&lt;br /&gt;
* improve the consistency of system installs&lt;br /&gt;
* faster implementation of projects&lt;br /&gt;
* improve build quality of the installations&lt;br /&gt;
* embed company best practices &lt;br /&gt;
&lt;br /&gt;
The toolkit is aimed at providing basic OS installations along with frequently used/requested addtional product installation, and minimal configuration.&lt;/div&gt;</summary>
		<author><name>Marty</name></author>
	</entry>
	<entry>
		<id>https://jet.maui.co.uk/wiki/index.php?title=MediaWiki:Sidebar&amp;diff=1345</id>
		<title>MediaWiki:Sidebar</title>
		<link rel="alternate" type="text/html" href="https://jet.maui.co.uk/wiki/index.php?title=MediaWiki:Sidebar&amp;diff=1345"/>
		<updated>2006-09-19T08:26:03Z</updated>

		<summary type="html">&lt;p&gt;Marty: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* navigation&lt;br /&gt;
** http://jet.maui.co.uk|JET Home &lt;br /&gt;
** http://jet.maui.co.uk/blog|News&lt;br /&gt;
** http://jet.maui.co.uk/faq|FAQ &lt;br /&gt;
** documents|Documents&lt;br /&gt;
** resources|Resources&lt;br /&gt;
** recentchanges-url|recentchanges&lt;br /&gt;
** randompage-url|randompage&lt;/div&gt;</summary>
		<author><name>Marty</name></author>
	</entry>
	<entry>
		<id>https://jet.maui.co.uk/wiki/index.php?title=Main_Page&amp;diff=1344</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://jet.maui.co.uk/wiki/index.php?title=Main_Page&amp;diff=1344"/>
		<updated>2006-09-19T08:25:03Z</updated>

		<summary type="html">&lt;p&gt;Marty: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOEDITSECTION__ __NOTOC__&lt;br /&gt;
== News ==&lt;br /&gt;
[[Image:Jumpstart_title.gif|Jumpstart_title.gif|frame|]]&lt;br /&gt;
&amp;lt;rss&amp;gt;http://jet.maui.co.uk/blog/?feed=rss2&amp;amp;category_name=News|title=none|max=5&amp;lt;/rss&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== JET Resources ==&lt;br /&gt;
&lt;br /&gt;
* [[Documents|JET Documents]]&lt;br /&gt;
* [[Resources|JET Resources]]&lt;br /&gt;
* [http://jet.maui.co.uk/faq JET FAQ]&lt;br /&gt;
&lt;br /&gt;
If you wish to contribute to the JET Resources community, please contact us and ask for access to the Wiki.&lt;br /&gt;
&lt;br /&gt;
== About JET ==&lt;br /&gt;
&lt;br /&gt;
=== What Is the JumpStart Enterprise Toolkit ? ===&lt;br /&gt;
&lt;br /&gt;
The JumpStart Enterprise Toolkit is the name given to the Sun Microsystems JumpStart Framework, developed by Sun in the UK. The toolkit is part of the N1 SPS suite and is available as a seperate download from [http://www.sun.com/downloads www.sun.com/downloads]&lt;br /&gt;
&lt;br /&gt;
=== JumpStart Information ===&lt;br /&gt;
&lt;br /&gt;
There are many benefits to using a framework to extend the functionality of JumpStart, for example:&lt;br /&gt;
&lt;br /&gt;
* improve the consistency of system installs&lt;br /&gt;
* faster implementation of projects&lt;br /&gt;
* improve build quality of the installations&lt;br /&gt;
* embed company best practices &lt;br /&gt;
&lt;br /&gt;
The toolkit is aimed at providing basic OS installations along with frequently used/requested addtional product installation, and minimal configuration.&lt;/div&gt;</summary>
		<author><name>Marty</name></author>
	</entry>
	<entry>
		<id>https://jet.maui.co.uk/wiki/index.php?title=Copy&amp;diff=1343</id>
		<title>Copy</title>
		<link rel="alternate" type="text/html" href="https://jet.maui.co.uk/wiki/index.php?title=Copy&amp;diff=1343"/>
		<updated>2006-09-15T16:24:08Z</updated>

		<summary type="html">&lt;p&gt;Marty: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This module allows you to copy files or media from NFS servers to the client being built.&lt;br /&gt;
&lt;br /&gt;
After adding the module to the JET server, add the module to an appropriate template:&lt;br /&gt;
 # make_template -f -T &amp;amp;lt;client&amp;amp;gt; &amp;amp;lt;client&amp;amp;gt; copy&lt;br /&gt;
Then edit the template and specify the name of the file that contains the list of things to copy; the template has an example of the format of the file.&lt;br /&gt;
&lt;br /&gt;
[[Media:JetMauiCOPY_1.0.0.pkg|Copy module]]&lt;/div&gt;</summary>
		<author><name>Marty</name></author>
	</entry>
	<entry>
		<id>https://jet.maui.co.uk/wiki/index.php?title=Resources&amp;diff=1342</id>
		<title>Resources</title>
		<link rel="alternate" type="text/html" href="https://jet.maui.co.uk/wiki/index.php?title=Resources&amp;diff=1342"/>
		<updated>2006-09-15T16:22:12Z</updated>

		<summary type="html">&lt;p&gt;Marty: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== JET Web Resources ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.sun.com/download/products.xml?id=438b5915 JET Download]&lt;br /&gt;
* [http://www.sun.com/bigadmin/content/jet/ JET @ BigAdmin]&lt;br /&gt;
* [mailto:jet@sun.com Sun's JET Alias] - for reporting bugs or asking Sun for help etc&lt;br /&gt;
* [http://groups.yahoo.com/group/JETJumpStart/ JET Yahoo Group] &amp;amp; [mailto:JumpStart@yahoogroups.com JET Yahoo Group mail alias]&lt;br /&gt;
&lt;br /&gt;
== Modules ==&lt;br /&gt;
&lt;br /&gt;
* [[CustomUpdate]] : Automatically keeps your custom packages up to date from your packages directory&lt;br /&gt;
* [[Copy]] : Module that specialises in copying files or directories as part of the install process&lt;br /&gt;
* [[N1SM]] : Sun N1 System Manager installation module&lt;/div&gt;</summary>
		<author><name>Marty</name></author>
	</entry>
	<entry>
		<id>https://jet.maui.co.uk/wiki/index.php?title=File:JetMauiCOPY_1.0.0.pkg&amp;diff=1341</id>
		<title>File:JetMauiCOPY 1.0.0.pkg</title>
		<link rel="alternate" type="text/html" href="https://jet.maui.co.uk/wiki/index.php?title=File:JetMauiCOPY_1.0.0.pkg&amp;diff=1341"/>
		<updated>2006-09-15T16:21:19Z</updated>

		<summary type="html">&lt;p&gt;Marty: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Marty</name></author>
	</entry>
	<entry>
		<id>https://jet.maui.co.uk/wiki/index.php?title=N1SM&amp;diff=1340</id>
		<title>N1SM</title>
		<link rel="alternate" type="text/html" href="https://jet.maui.co.uk/wiki/index.php?title=N1SM&amp;diff=1340"/>
		<updated>2006-09-14T13:12:42Z</updated>

		<summary type="html">&lt;p&gt;Marty: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This module allows you to install the Sun N1 System Manager on to a server. N1SM can then be used to install further systems (Linux etc) if required.&lt;br /&gt;
&lt;br /&gt;
After adding the module to the JET server, add the module to an appropriate template:&lt;br /&gt;
 # make_template -f -T &amp;amp;lt;client&amp;amp;gt; &amp;amp;lt;client&amp;amp;gt; n1sm&lt;br /&gt;
Then edit the template and configure the options as usual&lt;br /&gt;
&lt;br /&gt;
[[Media:JetMauiN1SM_1.0.0.pkg|N1SM module]]&lt;/div&gt;</summary>
		<author><name>Marty</name></author>
	</entry>
	<entry>
		<id>https://jet.maui.co.uk/wiki/index.php?title=Resources&amp;diff=1339</id>
		<title>Resources</title>
		<link rel="alternate" type="text/html" href="https://jet.maui.co.uk/wiki/index.php?title=Resources&amp;diff=1339"/>
		<updated>2006-09-14T13:09:32Z</updated>

		<summary type="html">&lt;p&gt;Marty: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== JET Web Resources ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.sun.com/download/products.xml?id=438b5915 JET Download]&lt;br /&gt;
* [http://www.sun.com/bigadmin/content/jet/ JET @ BigAdmin]&lt;br /&gt;
* [mailto:jet@sun.com Sun's JET Alias] - for reporting bugs or asking Sun for help etc&lt;br /&gt;
* [http://groups.yahoo.com/group/JETJumpStart/ JET Yahoo Group] &amp;amp; [mailto:JumpStart@yahoogroups.com JET Yahoo Group mail alias]&lt;br /&gt;
&lt;br /&gt;
== Modules ==&lt;br /&gt;
&lt;br /&gt;
* [[CustomUpdate]] : Automatically keeps your custom packages up to date from your packages directory&lt;br /&gt;
* [[N1SM]] : Sun N1 System Manager installation module&lt;/div&gt;</summary>
		<author><name>Marty</name></author>
	</entry>
	<entry>
		<id>https://jet.maui.co.uk/wiki/index.php?title=File:JetMauiN1SM_1.0.0.pkg&amp;diff=1338</id>
		<title>File:JetMauiN1SM 1.0.0.pkg</title>
		<link rel="alternate" type="text/html" href="https://jet.maui.co.uk/wiki/index.php?title=File:JetMauiN1SM_1.0.0.pkg&amp;diff=1338"/>
		<updated>2006-09-14T13:08:34Z</updated>

		<summary type="html">&lt;p&gt;Marty: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Marty</name></author>
	</entry>
	<entry>
		<id>https://jet.maui.co.uk/wiki/index.php?title=JetWalkthrough&amp;diff=1335</id>
		<title>JetWalkthrough</title>
		<link rel="alternate" type="text/html" href="https://jet.maui.co.uk/wiki/index.php?title=JetWalkthrough&amp;diff=1335"/>
		<updated>2006-08-29T13:12:05Z</updated>

		<summary type="html">&lt;p&gt;Marty: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== JET install and Configuration to server DHCP / PXE intel clients ==&lt;br /&gt;
&lt;br /&gt;
 Contributor: Paul Juster&lt;br /&gt;
&lt;br /&gt;
== Overview of my set up ==&lt;br /&gt;
&lt;br /&gt;
I am using two Intel machines, my JumpStart server is ''sun1'' (192.168.0.250) and my JumpStart client ''vmclient'' needs to end up with a static IP 192.168.0.200 (a flat network). Operating system is Solaris 10 x86.&lt;br /&gt;
&lt;br /&gt;
On the JumpStart server I have already copied the Intel x86 DVD files to my server&lt;br /&gt;
 # /cdrom/cdrom0/Solaris_10/Tools/setup_install_server /export/installx86&lt;br /&gt;
the alternative is to use the jet script to do this (/opt/SUNWjet/bin/copy_solaris_media).&lt;br /&gt;
&lt;br /&gt;
In this example I am using JET 4.3 and I have only displayed lines in files that I changed from the default or that I want to make clear what the setting is.&lt;br /&gt;
&lt;br /&gt;
Do not assume any of the below applied to a SPARC JET client&lt;br /&gt;
&lt;br /&gt;
== Download and Install the packages SUNWjet &amp;amp; documentation packages ==&lt;br /&gt;
&lt;br /&gt;
Get JET from the Sun download centre (http://www.sun.com/downloads)&lt;br /&gt;
&lt;br /&gt;
 # bunzip2 jet.pkg.bz2&lt;br /&gt;
 # pkgadd -d jet.pkg&lt;br /&gt;
  select Packages 10 &amp;amp; 11&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== JET Folder structure == &lt;br /&gt;
&lt;br /&gt;
I created/used the following folders&lt;br /&gt;
&lt;br /&gt;
 /export/pkgs  (not used but needed)&lt;br /&gt;
 /export/patches (not used but needed)&lt;br /&gt;
 /export/installx86 (Where the media has been copied too)&lt;br /&gt;
&lt;br /&gt;
Note this is a simple configuration be in a larger setup /export/media should be used with sub folders for each media type.&lt;br /&gt;
&lt;br /&gt;
== JET NFS shares ==&lt;br /&gt;
&lt;br /&gt;
The following shares were created to support JET.&lt;br /&gt;
&lt;br /&gt;
(&amp;quot;JET framework&amp;quot; share was automatically created during the package install)&lt;br /&gt;
 # share&lt;br /&gt;
 -               /opt/SUNWjet   ro,anon=0   &amp;quot;JET Framework&amp;quot;&lt;br /&gt;
 -               /export/pkgs   ro,anon=0   &amp;quot;Jumpstart Media&amp;quot;&lt;br /&gt;
 -               /export/installx86   ro,anon=0   &amp;quot;Jumpstart Media&amp;quot;&lt;br /&gt;
 -               /export/patches   ro,anon=0   &amp;quot;Jumpstart Media&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Modify JET configuration ==&lt;br /&gt;
&lt;br /&gt;
I edited /opt/SUNWjet/etc/jumpstart.conf to reflect my JET folder structure.&lt;br /&gt;
&lt;br /&gt;
 # &lt;br /&gt;
 # This config file defines the jumpstart specific variables.&lt;br /&gt;
 #&lt;br /&gt;
 JS_PKG_DIR=/export/pkgs&lt;br /&gt;
 JS_PATCH_DIR=/export/patches&lt;br /&gt;
 JS_SOLARIS_DIR=/export&lt;br /&gt;
&lt;br /&gt;
== Adding Solaris Location ==&lt;br /&gt;
&lt;br /&gt;
A “Solaris location” is a pointer to a folder containing the solaris installation media that has been copied to the JumpStart/JET server.&lt;br /&gt;
The Solaris media is copied to the JET server in two ways&lt;br /&gt;
&lt;br /&gt;
a. /cdrom/cdrom0/Solaris_10/Tools/setup_install_server&lt;br /&gt;
b. /opt/SUNWjet/bin/copy_solaris_media&lt;br /&gt;
&lt;br /&gt;
a. is the traditional JumpStart method (I used), b. is the JET method.&lt;br /&gt;
&lt;br /&gt;
Once copied a “Solaris location” is needed for JET to reference and use, this is done by running&lt;br /&gt;
&lt;br /&gt;
 # /opt/SUNWjet/bin/add_solaris_location 10i /export/installx86&lt;br /&gt;
&lt;br /&gt;
== A “template” ==&lt;br /&gt;
&lt;br /&gt;
A JET template outlines a JET clients configuration/installation and contains the answers to the installation questions that are normally asked (this is a very simplistic view as a lot more can be accomplish with the template).  I created a template called vmclient&lt;br /&gt;
&lt;br /&gt;
 # /opt/SUNWjet/bin/make_template vmclient&lt;br /&gt;
&lt;br /&gt;
== Customise the template (DHCP/PXE) ==&lt;br /&gt;
 &lt;br /&gt;
Once the template has been created some basic details needed to be added.&lt;br /&gt;
&lt;br /&gt;
(I made the following changes and ignored all other lines at the moment)&lt;br /&gt;
base_config_ClientArch=i86pc&lt;br /&gt;
base_config_ClientEther=00:0c:29:76:fd:15&lt;br /&gt;
base_config_ClientOS=10i&lt;br /&gt;
base_config_sysidcfg_nameservice=NONE&lt;br /&gt;
base_config_sysidcfg_network_interface=PRIMARY &lt;br /&gt;
base_config_sysidcfg_ip_address=192.168.0.200&lt;br /&gt;
base_config_sysidcfg_netmask=255.255.255.0&lt;br /&gt;
base_config_sysidcfg_root_password=&amp;quot;boajrOmU7GFmY&amp;quot;&lt;br /&gt;
base_config_sysidcfg_system_locale=en_GB.ISO8859-1&lt;br /&gt;
base_config_sysidcfg_timeserver=localhost&lt;br /&gt;
base_config_sysidcfg_timezone=&amp;quot;GB&amp;quot;&lt;br /&gt;
base_config_sysidcfg_terminal=vt100&lt;br /&gt;
base_config_sysidcfg_security_policy=NONE&lt;br /&gt;
base_config_sysidcfg_protocol_ipv6=no&lt;br /&gt;
base_config_sysidcfg_default_route=192.168.0.254&lt;br /&gt;
base_config_client_allocation=&amp;quot;grub&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Its worth noting that intel machine can only be built using JET/JumpStart by using DHCP and PXE boot methods, in order for this to be configured within JET following line partly configures this.&lt;br /&gt;
&lt;br /&gt;
 base_config_client_allocation=&amp;quot;grub&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== DHCP server setup ==&lt;br /&gt;
&lt;br /&gt;
In order for JET to support DHCP clients, the server needs some basic details to be added to /opt/SUNWjet/Products/base_config/solaris/make_dhcp file&lt;br /&gt;
&lt;br /&gt;
 # cat make_dhcp&lt;br /&gt;
 ################################################################################&lt;br /&gt;
 # Synopsis: PXE boot pre-JUMP setups&lt;br /&gt;
 #       if DHCP server is not present, then activate it&lt;br /&gt;
 #&lt;br /&gt;
 # Change the NETWORK details to suit your own&lt;br /&gt;
 NETWORK=192.168.0.0&lt;br /&gt;
 NETMASK=255.255.255.0&lt;br /&gt;
 ROUTER=192.168.0.254&lt;br /&gt;
 &lt;br /&gt;
 dhcpconfig -D -r SUNWfiles -p /var/tmp&lt;br /&gt;
 &lt;br /&gt;
 dhcpconfig -N ${NETWORK} -m ${NETMASK} -t ${ROUTER}&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
In order for these changes to be applied to the solaris dhcp server, permissions on the make_dhcp file need to be changed so the file can be executed.&lt;br /&gt;
&lt;br /&gt;
 # chmod +x make_dhcp&lt;br /&gt;
 # ./make_dhcp&lt;br /&gt;
 Created DHCP configuration file.&lt;br /&gt;
 Created dhcptab.&lt;br /&gt;
 Added &amp;quot;Locale&amp;quot; macro to dhcptab.&lt;br /&gt;
 Added server macro to dhcptab - sun1.&lt;br /&gt;
 DHCP server started.&lt;br /&gt;
 Added network macro to dhcptab - 192.168.0.0.&lt;br /&gt;
 Created network table.&lt;br /&gt;
&lt;br /&gt;
As you can see this has populated/configured the dhcp server with the basic settings, the client specific settings are added when make_client is run.&lt;br /&gt;
&lt;br /&gt;
== Populating JET with a client ==&lt;br /&gt;
&lt;br /&gt;
A client can now be added to the JET server using the make_client script. &lt;br /&gt;
&lt;br /&gt;
 # /opt/SUNWjet/bin/make_client -f vmclient&lt;br /&gt;
 Gathering network information..&lt;br /&gt;
        Client: 192.168.0.200 (192.168.0.0/255.255.255.0)&lt;br /&gt;
        Server: 192.168.0.250 (192.168.0.0/255.255.255.0, SunOS)&lt;br /&gt;
 Solaris: client_prevalidate&lt;br /&gt;
         Clean up /etc/ethers&lt;br /&gt;
 Solaris: client_build&lt;br /&gt;
 Creating sysidcfg&lt;br /&gt;
 Creating profile&lt;br /&gt;
 Adding base_config specifics to client configuration&lt;br /&gt;
 Solaris: Configuring JumpStart boot for vmclient&lt;br /&gt;
         Starting SMF services for JumpStart&lt;br /&gt;
 Solaris: Configure PXE/grub build&lt;br /&gt;
         Adding install client&lt;br /&gt;
        Doing a TEXT based install&lt;br /&gt;
         Leaving the graphical device as the primary console&lt;br /&gt;
         Configuring vmclient macro&lt;br /&gt;
         Using local dhcp server&lt;br /&gt;
         PXE/grub configuration complete&lt;br /&gt;
 Running '/opt/SUNWjet/bin/check_client  vmclient'&lt;br /&gt;
        Client: 192.168.0.200 (192.168.0.0/255.255.255.0)&lt;br /&gt;
        Server: 192.168.0.250 (192.168.0.0/255.255.255.0, SunOS)&lt;br /&gt;
 Checking product base_config/solaris&lt;br /&gt;
 Checking Solaris boot image for critical patches (this may take a while..)&lt;br /&gt;
 &lt;br /&gt;
 WARNING: Patch 119375-03 has not been applied to the boot image.&lt;br /&gt;
                This patch has been critical to the successful&lt;br /&gt;
                installation of the O/S.&lt;br /&gt;
 &lt;br /&gt;
                Please apply the patch with the command:&lt;br /&gt;
 &lt;br /&gt;
        # patchadd -C /export/installx86/Solaris_10/Tools/Boot 119375-03&lt;br /&gt;
 &lt;br /&gt;
 --------------------------------------------------------------&lt;br /&gt;
 Check of client vmclient&lt;br /&gt;
 -&amp;gt; Passed....&lt;br /&gt;
&lt;br /&gt;
The obvious thing from this output is that it passed, but also you can see that a PXE/Grub build took place (which means that this client is an intel client)&lt;br /&gt;
&lt;br /&gt;
== Client boot ==&lt;br /&gt;
&lt;br /&gt;
The intelx86 client needs booting off the network, F12 is the normal key at boot time.&lt;br /&gt;
&lt;br /&gt;
The intelx86 client gets an ip address&lt;br /&gt;
&lt;br /&gt;
The grub loader is loaded&lt;br /&gt;
&lt;br /&gt;
The grub loader load the multi boot image from the /tftpboot directory and hopefully now installation windows/questions will be asked.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Reference files ==&lt;br /&gt;
&lt;br /&gt;
=== jumpstart.conf ===&lt;br /&gt;
&lt;br /&gt;
 # This config file defines the jumpstart specific variables. &lt;br /&gt;
 #&lt;br /&gt;
 # Version:	$Revision: 1.5 $&lt;br /&gt;
 # Last Updated;	$Date: 2006/02/04 12:08:58 $&lt;br /&gt;
 #&lt;br /&gt;
 # Location of the additional media for patches and packages:&lt;br /&gt;
 #&lt;br /&gt;
 # These paths should be URI form e.g. nfs://&amp;lt;serverip&amp;gt;/&amp;lt;path&amp;gt; or &amp;lt;path&amp;gt;&lt;br /&gt;
 # Currently only PKG_DIR and PATCH_DIR can be on a remote NFS server.&lt;br /&gt;
 # If they are just &amp;lt;path&amp;gt;, the appropriate address of the JumpStart server&lt;br /&gt;
 # will be added.&lt;br /&gt;
 #&lt;br /&gt;
 # N.B. if the media location is on a different server, please ensure it is&lt;br /&gt;
 #      routable from the client !&lt;br /&gt;
 #&lt;br /&gt;
 JS_Default_Root_PW=boajrOmU7GFmY&lt;br /&gt;
 JS_BUILD_DIR=/var/opt/sun/jet&lt;br /&gt;
 JS_PKG_DIR=/export/pkgs&lt;br /&gt;
 JS_PATCH_DIR=/export/patches&lt;br /&gt;
 JS_SOLARIS_DIR=/export&lt;br /&gt;
 JS_DHCP_VENDOR=&amp;quot;SUNW.Ultra-5_10 SUNW.Ultra-30&amp;quot;&lt;br /&gt;
 #JS_CLIENT_MANAGEMENT=&amp;quot;dhcp bootp&amp;quot;&lt;br /&gt;
 JS_CLIENT_MANAGEMENT=&amp;quot;bootp&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== make_dhcp ===&lt;br /&gt;
 #!/usr/bin/ksh&lt;br /&gt;
 #&lt;br /&gt;
 # This config file defines the dhcp variables. &lt;br /&gt;
 #&lt;br /&gt;
 # Copyright 2005 Sun Microsystems, Inc.  All rights reserved.&lt;br /&gt;
 # Use is subject to license terms.&lt;br /&gt;
 ################################################################################&lt;br /&gt;
 #&lt;br /&gt;
 # Synopsis: PXE boot pre-JUMP setups&lt;br /&gt;
 #	if DHCP server is notpresent, then activate it&lt;br /&gt;
 #&lt;br /&gt;
 # Change the NETWORk details to suit your own&lt;br /&gt;
 NETWORK=192.168.0.0&lt;br /&gt;
 NETMASK=255.255.255.0&lt;br /&gt;
 ROUTER=192.168.0.254&lt;br /&gt;
 &lt;br /&gt;
 dhcpconfig -D -r SUNWfiles -p /var/tmp&lt;br /&gt;
 &lt;br /&gt;
 dhcpconfig -N ${NETWORK} -m ${NETMASK} -t ${ROUTER}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== template/vmclient ===&lt;br /&gt;
 ###############################################################################&lt;br /&gt;
 #&lt;br /&gt;
 # Client template file&lt;br /&gt;
 #&lt;br /&gt;
 # Client:	vmclient&lt;br /&gt;
 # Created:	Friday May 19 19:26:39 BST 2006&lt;br /&gt;
 # &lt;br /&gt;
 # This file was automatically generated using 'make_template'&lt;br /&gt;
 ###############################################################################&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 ###############################################################################&lt;br /&gt;
 #&lt;br /&gt;
 # Product:	base_config&lt;br /&gt;
 #&lt;br /&gt;
 # Synopsys:	Basic host information&lt;br /&gt;
 #&lt;br /&gt;
 ###############################################################################&lt;br /&gt;
 &lt;br /&gt;
 ############&lt;br /&gt;
 #&lt;br /&gt;
 # Architecture type:&lt;br /&gt;
 #		sun4c		: e.g. SS1, SS2, SS IPX&lt;br /&gt;
 #		sun4d		: e.g. SS1000, SS2000&lt;br /&gt;
 #		sun4e		: ?&lt;br /&gt;
 #		sun4m		: e.g. SS LX, SS4, SS5, SS10, SS20&lt;br /&gt;
 #		sun4u		: UltraSparc - U1, U2, E3x00, E4x00 etc&lt;br /&gt;
 #		sun4u1		: E10K&lt;br /&gt;
 #		sun4v		: T2000&lt;br /&gt;
 #&lt;br /&gt;
 #		i86pc		: Intel X86&lt;br /&gt;
 #&lt;br /&gt;
 # Ethernet can be obtained from the 'banner' command at OBP&lt;br /&gt;
 #&lt;br /&gt;
 # OS is one of the values you used to register the solaris media using&lt;br /&gt;
 #    the add_solaris_location command&lt;br /&gt;
 #&lt;br /&gt;
 base_config_ClientArch=i86pc&lt;br /&gt;
 base_config_ClientEther=00:0c:29:76:fd:15&lt;br /&gt;
 base_config_ClientOS=10i&lt;br /&gt;
 &lt;br /&gt;
 ############&lt;br /&gt;
 #&lt;br /&gt;
 # Client allocation&lt;br /&gt;
 #&lt;br /&gt;
 # The mechanism used to build this client; by default, the options listed&lt;br /&gt;
 # in /opt/jet/etc/jumpstart.conf will be tried; you should only set this&lt;br /&gt;
 # if this particular client needs to do something different.&lt;br /&gt;
 # JET supports bootp, dhcp, and grub as allocation options.&lt;br /&gt;
 # Currently grub is only supported on i86pc architectures.&lt;br /&gt;
 #&lt;br /&gt;
 base_config_client_allocation=&amp;quot;grub&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # If you are using grub, you can set this variable to apply additional&lt;br /&gt;
 # grub directives to the menu.lst.&amp;lt;MACADDRESS&amp;gt; file.&lt;br /&gt;
 #&lt;br /&gt;
 base_config_grub_append=&amp;quot;&amp;quot; &lt;br /&gt;
 &lt;br /&gt;
 ############&lt;br /&gt;
 #&lt;br /&gt;
 # products	is the set of products to install after base_config; this&lt;br /&gt;
 #		should be updated automatically by make_template, so you&lt;br /&gt;
 #		will only need to change it, if you wish to omit certain&lt;br /&gt;
 #		modules when testing/debugging.&lt;br /&gt;
 #&lt;br /&gt;
 base_config_products=&amp;quot;&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 ############&lt;br /&gt;
 #&lt;br /&gt;
 # JumpStart sysidcfg information&lt;br /&gt;
 #&lt;br /&gt;
 # The sysidcfg file provides information at initial boot time so that the&lt;br /&gt;
 # system can properly identify itself. The interface and ip address defined &lt;br /&gt;
 # here MUST be on the same subnet as the JumpStart server. The root password &lt;br /&gt;
 # is set here also and must be written in encrypted format. The default value&lt;br /&gt;
 # shown here is &amp;quot;newroot&amp;quot;. The timeserver is normally the IP address of the&lt;br /&gt;
 # JumpStart server.&lt;br /&gt;
 #&lt;br /&gt;
 # nameservice examples:&lt;br /&gt;
 #			NONE&lt;br /&gt;
 #			NIS { domain_name=uk.sun.com name_server=nis.uk.sun.com(129.159.91.1) }&lt;br /&gt;
 #		or for DNS&lt;br /&gt;
 #			DNS { domain_name=uk.sun.com name_server=192.168.1.1 search=uk.sun.com }&lt;br /&gt;
 #&lt;br /&gt;
 # network_interface:&lt;br /&gt;
 #			le0, hme0&lt;br /&gt;
 #			or PRIMARY (the default interface - net in OBP)&lt;br /&gt;
 #			N.B. PRIMARY is only valid from Solaris 7 upwards&lt;br /&gt;
 #&lt;br /&gt;
 # locale:&lt;br /&gt;
 #			en_UK	for Solaris 2.6&lt;br /&gt;
 #			en_GB	for Solaris 7 and above&lt;br /&gt;
 #&lt;br /&gt;
 # timeserver:		Where the client gets the current time from.&lt;br /&gt;
 #			Leave blank to default the the JumpStart server&lt;br /&gt;
 #&lt;br /&gt;
 #			Alternatively, set to 'localhost' to trust the current&lt;br /&gt;
 #			hardware clock on the client&lt;br /&gt;
 # &lt;br /&gt;
 # terminal:		terminal type (vt100/vt220/sun etc)&lt;br /&gt;
 #&lt;br /&gt;
 # security_policy:	Kerberos policy (Solaris 8 +)&lt;br /&gt;
 #&lt;br /&gt;
 # protocol_ipv6:	Use ipv6 or not (Solaris 8 +)&lt;br /&gt;
 #&lt;br /&gt;
 # default_route:	Solaris 9 allows a default route to be set&lt;br /&gt;
 #			(ignored on all other versions of Solaris, less than 9)&lt;br /&gt;
 #&lt;br /&gt;
 &lt;br /&gt;
 base_config_sysidcfg_nameservice=NONE&lt;br /&gt;
 base_config_sysidcfg_network_interface=PRIMARY &lt;br /&gt;
 base_config_sysidcfg_ip_address=192.168.0.200&lt;br /&gt;
 base_config_sysidcfg_netmask=255.255.255.0&lt;br /&gt;
 base_config_sysidcfg_root_password=&amp;quot;boajrOmU7GFmY&amp;quot;&lt;br /&gt;
 base_config_sysidcfg_system_locale=en_GB.ISO8859-1&lt;br /&gt;
 base_config_sysidcfg_timeserver=localhost&lt;br /&gt;
 base_config_sysidcfg_timezone=&amp;quot;GB&amp;quot;&lt;br /&gt;
 base_config_sysidcfg_terminal=vt100&lt;br /&gt;
 base_config_sysidcfg_security_policy=NONE&lt;br /&gt;
 base_config_sysidcfg_protocol_ipv6=no&lt;br /&gt;
 base_config_sysidcfg_default_route=192.168.0.254&lt;br /&gt;
&lt;br /&gt;
 ########################################&lt;br /&gt;
 # X86, X64 specific settings. If this is an x86 client, then you may need&lt;br /&gt;
 # to configure these settings. They are ignored for SPARC builds.&lt;br /&gt;
 #&lt;br /&gt;
 # base_config_x86_nowin:&lt;br /&gt;
 # This stops Solaris from trying to run windows during the install.&lt;br /&gt;
 # the default value is yes.&lt;br /&gt;
 #&lt;br /&gt;
 # base_config_x86_console:&lt;br /&gt;
 # Set the console to the correct tty port. This is used for doing installs&lt;br /&gt;
 # via the serial port or the SP. b1600,v20z and v40z use ttya. lx50, v60x,&lt;br /&gt;
 # and v65x use ttyb. NOTE: you only need to set this if you are NOT going &lt;br /&gt;
 # to connect a keyboard and monitor to the client.&lt;br /&gt;
 #&lt;br /&gt;
 # base_config_x86_disable_acpi:&lt;br /&gt;
 # Disable ACPI - sometimes disabling ACPI makes the install go&lt;br /&gt;
 # better due to how the interrupts are handled. Non-Null disables ACPI.&lt;br /&gt;
 #&lt;br /&gt;
 # base_config_x86_safetoreboot:&lt;br /&gt;
 # The Solaris installer can't control the BIOS, therefore does not&lt;br /&gt;
 # know if its safe to reboot the client as it may simply jumpstart&lt;br /&gt;
 # again. If your PXE boot is a one time option, and the next reboot&lt;br /&gt;
 # will attempt to boot from disk, then you probably want to set this&lt;br /&gt;
 # option to &amp;quot;yes&amp;quot;. Otherwise, leave it as it is so that it won't reboot&lt;br /&gt;
 # and therefore allow you to manually change your BIOS to boot from disk.&lt;br /&gt;
 #&lt;br /&gt;
 # base_config_x86_disable_kdmconfig:&lt;br /&gt;
 # X86 systems sometimes go interactive on the first reboot (Bug 6321043)&lt;br /&gt;
 # on Solaris 10 Update 1. Setting this parameter will stop this from&lt;br /&gt;
 # happenning.&lt;br /&gt;
 # &lt;br /&gt;
 # base_config_x86_confflags&lt;br /&gt;
 # The parameters specified for this variable are passed directly to &lt;br /&gt;
 # add_install_client -b confflags= option.  &lt;br /&gt;
 # For e.g., by specifying,&lt;br /&gt;
 # base_config_x86_confflags=&amp;quot;-f -P/boot/solaris/dca&amp;quot;&lt;br /&gt;
 # &lt;br /&gt;
 # add_install_client is called with -b confflag=&amp;quot;-f -P /boot/solaris/dca&amp;quot;&lt;br /&gt;
 # option.&lt;br /&gt;
 #&lt;br /&gt;
 # base_config_sysidcfg_x86_kdmfile&lt;br /&gt;
 # Append the file specified here to sysidcfg file.&lt;br /&gt;
 # This variable can reference a file relative to the &lt;br /&gt;
 # Clients/&amp;lt;clientname&amp;gt; directory or a absolute path. &lt;br /&gt;
 #&lt;br /&gt;
 #&lt;br /&gt;
 base_config_x86_nowin=&amp;quot;yes&amp;quot;&lt;br /&gt;
 base_config_x86_console=&amp;quot;&amp;quot;&lt;br /&gt;
 base_config_x86_disable_acpi=&amp;quot;&amp;quot;&lt;br /&gt;
 base_config_x86_safetoreboot=&amp;quot;&amp;quot;&lt;br /&gt;
 base_config_x86_disable_kdmconfig=&amp;quot;&amp;quot;&lt;br /&gt;
 base_config_x86_confflags=&amp;quot;&amp;quot;&lt;br /&gt;
 base_config_sysidcfg_x86_kdmfile=&amp;quot;&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 #&lt;br /&gt;
 #&lt;br /&gt;
 #&lt;br /&gt;
 #&lt;br /&gt;
 #######&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 # &lt;br /&gt;
 # Want to create your own custom profile ? if so, use this variable to&lt;br /&gt;
 # reference a file relative to the Clients/&amp;lt;clientname&amp;gt; directory or &lt;br /&gt;
 # absolute path, otherwise fill in the other details below to get toolkit &lt;br /&gt;
 # to create one for you.&lt;br /&gt;
 #&lt;br /&gt;
 # If absolute path is specified, then the profile file is copied &lt;br /&gt;
 # to Clients/&amp;lt;clientname&amp;gt; directory.&lt;br /&gt;
 #&lt;br /&gt;
 base_config_profile=&amp;quot;&amp;quot;&lt;br /&gt;
 #&lt;br /&gt;
 #######&lt;br /&gt;
 # OR fill out the base_config_profile variables below.&lt;br /&gt;
 ############&lt;br /&gt;
 #&lt;br /&gt;
 # JumpStart profile information&lt;br /&gt;
 #&lt;br /&gt;
 #&lt;br /&gt;
 # A limited profile can be automatically generated here. If further &lt;br /&gt;
 # customisation is required, then you can manually create a profile in the&lt;br /&gt;
 # client directory and reference it in the base_config_profile variable.&lt;br /&gt;
 #&lt;br /&gt;
 # Cluster:&lt;br /&gt;
 #	SUNWCrnet		: Minimal. Solaris 10 only&lt;br /&gt;
 #	SUNWCreq		: Required - really basic, good for testing&lt;br /&gt;
 #	SUNWCuser		: User collection&lt;br /&gt;
 #	SUNWCprog		: User + Developers collection&lt;br /&gt;
 #	SUNWCall		: All packages&lt;br /&gt;
 #	SUNWCXall		: All + OEM packages	(mandatory for E10K)&lt;br /&gt;
 #&lt;br /&gt;
 # usedisk:	defines the disk that the OS will be loaded on to - bootdisk&lt;br /&gt;
 #		(if this is set to rootdisk. , then the current boot disk will&lt;br /&gt;
 #		 be used)&lt;br /&gt;
 #&lt;br /&gt;
 # dontuse:	defines disks that should not be used..&lt;br /&gt;
 #		** N.B. This will only be used if 'usedisk' is NOT set&lt;br /&gt;
 #		Space seperated list of disks of the form c?t?d?&lt;br /&gt;
 #&lt;br /&gt;
 # partition sizes:&lt;br /&gt;
 #&lt;br /&gt;
 # 	if partitions are not required simply leave blank. In order to maintain &lt;br /&gt;
 # 	consistency the partitions will always use the same slice number:&lt;br /&gt;
 #&lt;br /&gt;
 #		/	s0&lt;br /&gt;
 #		swap	s1&lt;br /&gt;
 #&lt;br /&gt;
 # 	We've prepopulated the remaining slices based on Sun defaults,&lt;br /&gt;
 #	but you can change this.&lt;br /&gt;
 #		/var	s5&lt;br /&gt;
 #		/usr	s6&lt;br /&gt;
 #		/opt	s7&lt;br /&gt;
 #&lt;br /&gt;
 #	at most one partition can have the size 'free' which denotes all the&lt;br /&gt;
 #	unallocated/spare space on a disk.&lt;br /&gt;
 #&lt;br /&gt;
 base_config_profile_cluster=SUNWCXall&lt;br /&gt;
 base_config_profile_usedisk=rootdisk.&lt;br /&gt;
 &lt;br /&gt;
 base_config_profile_dontuse=&amp;quot;&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 base_config_profile_root=free &lt;br /&gt;
 base_config_profile_swap=256 &lt;br /&gt;
 &lt;br /&gt;
 #&lt;br /&gt;
 # If you are using VxVM and want your boot disk to look like the mirror, then&lt;br /&gt;
 # leave slices 3 and 4 empty. If you do not care about keeping the two disks&lt;br /&gt;
 # looking cosmetically the same, please just make sure you have two free slices&lt;br /&gt;
 # somewhere on the disk for VxVM!&lt;br /&gt;
 #&lt;br /&gt;
 # If you are not using VxVM, then you can use s3 and s4 for whatever you wish!&lt;br /&gt;
 #&lt;br /&gt;
 &lt;br /&gt;
 base_config_profile_s3_mtpt=&amp;quot;&amp;quot;&lt;br /&gt;
 base_config_profile_s3_size=&amp;quot;&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 base_config_profile_s4_mtpt=&amp;quot;&amp;quot;&lt;br /&gt;
 base_config_profile_s4_size=&amp;quot;&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 base_config_profile_s5_mtpt=&amp;quot;/var&amp;quot;&lt;br /&gt;
 base_config_profile_s5_size=&amp;quot;&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 base_config_profile_s6_mtpt=&amp;quot;/usr&amp;quot;&lt;br /&gt;
 base_config_profile_s6_size=&amp;quot;&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 #&lt;br /&gt;
 # If you are using DiskSuite, the default behaviour is to use slice 7 as a&lt;br /&gt;
 # location for metastate databases. If you are using DiskSuites default config,&lt;br /&gt;
 # please avoid using s7 for data!&lt;br /&gt;
 #&lt;br /&gt;
 &lt;br /&gt;
 base_config_profile_s7_mtpt=&amp;quot;/opt&amp;quot;&lt;br /&gt;
 base_config_profile_s7_size=&amp;quot;&amp;quot;&lt;br /&gt;
 #&lt;br /&gt;
 ############&lt;br /&gt;
 &lt;br /&gt;
 ############&lt;br /&gt;
 #&lt;br /&gt;
 # You can specify additional disks to use/configure here&lt;br /&gt;
 #&lt;br /&gt;
 # additional_disks is a space separated list of c?t?d? type disk names&lt;br /&gt;
 #&lt;br /&gt;
 # For each disk listed in additional_disks, a pair of variables of the form&lt;br /&gt;
 #&lt;br /&gt;
 #	base_config_profile_disk_c?t?d?s?_mtpt=&amp;quot;....&amp;quot;&lt;br /&gt;
 #	base_config_profile_disk_c?t?d?s?_size=&amp;quot;....&amp;quot;&lt;br /&gt;
 #&lt;br /&gt;
 # should be defined for each slice required on the disk.&lt;br /&gt;
 #&lt;br /&gt;
 # N.B. DO NOT SET THE BOOT DISK UP HERE !&lt;br /&gt;
 #&lt;br /&gt;
 base_config_profile_additional_disks=&amp;quot;&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 ############&lt;br /&gt;
 #&lt;br /&gt;
 # Additional locales/geos e.g. N_Europe, C_Europe&lt;br /&gt;
 #&lt;br /&gt;
 #&lt;br /&gt;
 base_config_profile_add_locales=&amp;quot;&amp;quot;&lt;br /&gt;
 base_config_profile_del_locales=&amp;quot;&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 base_config_profile_add_geos=&amp;quot;&amp;quot;&lt;br /&gt;
 base_config_profile_del_geos=&amp;quot;&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 ############&lt;br /&gt;
 #&lt;br /&gt;
 # UFS Logging&lt;br /&gt;
 #&lt;br /&gt;
 # Solaris 7 and above support UFS+, which allows for a logging filesystem&lt;br /&gt;
 # under UFS. If you want to use this feature on any of the UFS mount points,&lt;br /&gt;
 # please specify the mount points here, as a space seperated list, or enter&lt;br /&gt;
 # the keyword &amp;quot;all&amp;quot; to enable logging on all UFS filesystems.&lt;br /&gt;
 #&lt;br /&gt;
 # Solaris 9 09/04 enables logging by default. You can also specify mountpoints&lt;br /&gt;
 # preceded by a - sign to say that you DON'T want logging enabled on that&lt;br /&gt;
 # filesystem, or you can use the keyword &amp;quot;none&amp;quot; to say you don't want any &lt;br /&gt;
 # ufs logging turned on at all.&lt;br /&gt;
 #&lt;br /&gt;
 # N.B. root (/) can be included in the list, and is included by default if&lt;br /&gt;
 #      using either the &amp;quot;all&amp;quot; or &amp;quot;none&amp;quot; keyword.&lt;br /&gt;
 #      &lt;br /&gt;
 #      Finally, you can't mix keywords and mountpoints. i.e. &amp;quot;all -/&amp;quot; is NOT &lt;br /&gt;
 #      valid.&lt;br /&gt;
 # e.g. base_config_ufs_logging_filesys=&amp;quot;all&amp;quot;  		: log all filesystems&lt;br /&gt;
 #      base_config_ufs_logging_filesys=&amp;quot;none&amp;quot; 		: log no filesystems&lt;br /&gt;
 #      base_config_ufs_logging_filesys=&amp;quot;-/ /var -/usr&amp;quot;  : log /var, but not / and /usr.&lt;br /&gt;
 #&lt;br /&gt;
 base_config_ufs_logging_filesys=&amp;quot;all&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 ############&lt;br /&gt;
 #&lt;br /&gt;
 # Packages to add to/remove from the selected cluster&lt;br /&gt;
 #&lt;br /&gt;
 # Use this to populate the profile with package &amp;lt;pkg&amp;gt; &amp;lt;add|delete&amp;gt; entries&lt;br /&gt;
 #&lt;br /&gt;
 base_config_profile_add_packages=&amp;quot;&amp;quot;&lt;br /&gt;
 base_config_profile_del_packages=&amp;quot;&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 ############&lt;br /&gt;
 #&lt;br /&gt;
 # Clusters to add to/remove &lt;br /&gt;
 #&lt;br /&gt;
 # Use this to populate the profile with cluster &amp;lt;cluster&amp;gt; &amp;lt;add|delete&amp;gt; entries&lt;br /&gt;
 #&lt;br /&gt;
 base_config_profile_add_clusters=&amp;quot;&amp;quot;&lt;br /&gt;
 base_config_profile_del_clusters=&amp;quot;SUNWCpm SUNWCpmx SUNWCdial SUNWCdialx&amp;quot; &lt;br /&gt;
 &lt;br /&gt;
 ############&lt;br /&gt;
 #&lt;br /&gt;
 # Remote file systems (NFS)&lt;br /&gt;
 #&lt;br /&gt;
 # Specify these as space seperated list of pairs as follows, using ? as&lt;br /&gt;
 # the seperator (as : has special meanings with nfs!)&lt;br /&gt;
 #&lt;br /&gt;
 # e.g. to mount 1.1.1.1:/fs on /fs you would create the entry&lt;br /&gt;
 #      base_config_nfs_mounts=&amp;quot;fs?1.1.1.1:/fs&amp;quot;&lt;br /&gt;
 #&lt;br /&gt;
 base_config_nfs_mounts=&amp;quot;&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 ############&lt;br /&gt;
 #&lt;br /&gt;
 # Host information&lt;br /&gt;
 #&lt;br /&gt;
 # This section defines most things network related etc.&lt;br /&gt;
 #&lt;br /&gt;
 # In addtion, if the machine will be JumpStarted as one name/address and&lt;br /&gt;
 # needs to have a different name/address once installed, this is where you&lt;br /&gt;
 # can set that information.&lt;br /&gt;
 #&lt;br /&gt;
 # nodename:		the value for /etc/nodename if it's not the default&lt;br /&gt;
 #			hostname&lt;br /&gt;
 #&lt;br /&gt;
 # defaultrouter:	the value for /etc/defaultrouter.&lt;br /&gt;
 #&lt;br /&gt;
 # notrouter:		if this is set, the file /etc/notrouter will be created&lt;br /&gt;
 #&lt;br /&gt;
 # dns_domain:		domain entry for /etc/resolv.conf&lt;br /&gt;
 #&lt;br /&gt;
 # dns_nameservers:	nameserver entries for /etc/resolv.conf&lt;br /&gt;
 #			(list of ip addresses, space separated)&lt;br /&gt;
 #&lt;br /&gt;
 # dns_searchpath:	list of entries to go in the search line&lt;br /&gt;
 #&lt;br /&gt;
 # dns_disableforbuild:	If there is no DNS available in the build&lt;br /&gt;
 #                       environment, set this to delay the configuration&lt;br /&gt;
 #			of DNS until later on.&lt;br /&gt;
 #&lt;br /&gt;
 &lt;br /&gt;
 base_config_nodename=&amp;quot;&amp;quot;&lt;br /&gt;
 base_config_defaultrouter=&amp;quot;&amp;quot;&lt;br /&gt;
 base_config_notrouter=&amp;quot;&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 base_config_dns_domain=&amp;quot;&amp;quot;&lt;br /&gt;
 base_config_dns_nameservers=&amp;quot;&amp;quot;&lt;br /&gt;
 base_config_dns_searchpath=&amp;quot;&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 base_config_dns_disableforbuild=&amp;quot;yes&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 ###########&lt;br /&gt;
 #&lt;br /&gt;
 # NTP configuration&lt;br /&gt;
 #&lt;br /&gt;
 # Specify a list of names or ip addresses for the NTP servers. The first&lt;br /&gt;
 # one will be given a 'prefer' tag. This section will only place lines&lt;br /&gt;
 # of the form: server &amp;lt;ipaddress/name&amp;gt; [prefer]&lt;br /&gt;
 # into the /etc/inet/ntp.conf file. If you require more control of ntp,&lt;br /&gt;
 # please use the custom module to deploy your own custom ntp.conf file.&lt;br /&gt;
 #&lt;br /&gt;
 # N.B. If you do use names, they must be resolvable in your name service.&lt;br /&gt;
 #&lt;br /&gt;
 base_config_ntp_servers=&amp;quot;&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 ############&lt;br /&gt;
 #&lt;br /&gt;
 # Network Interface information&lt;br /&gt;
 #&lt;br /&gt;
 #&lt;br /&gt;
 # networkifs:		a list of interfaces to be defined,&lt;br /&gt;
 #			space seperated &amp;quot;le0 hme0&amp;quot;.&lt;br /&gt;
 #			N.B. the sysidcfg interface will already be configured&lt;br /&gt;
 #			&lt;br /&gt;
 #			Logical interfaces should be defined using _'s rather&lt;br /&gt;
 #			than :'s.&lt;br /&gt;
 #&lt;br /&gt;
 # networkif_&amp;lt;ifname&amp;gt;:	the details of the interface &amp;lt;if&amp;gt;&lt;br /&gt;
 #			&amp;quot;netname netmask hostname address&amp;quot;&lt;br /&gt;
 #&lt;br /&gt;
 #			netname:	arbritrary name for /etc/networks&lt;br /&gt;
 #			netmask:	netmask of this if (e.g. 255.255.255.0)&lt;br /&gt;
 #			hostname:	unique hostname (N.B. not multihomed)&lt;br /&gt;
 #			address:	IP address of this interface&lt;br /&gt;
 #&lt;br /&gt;
 # For example:&lt;br /&gt;
 #&lt;br /&gt;
 #	base_config_networkifs=&amp;quot;ge0 ge0_1&amp;quot;&lt;br /&gt;
 #	base_config_networkif_ge0=&amp;quot;bkp 255.255.255.0 me-bkp 192.168.1.0&amp;quot;&lt;br /&gt;
 #	base_config_networkif_ge0_1=&amp;quot;bkp2 255.255.255.0 me-bkp2 192.168.2.0&amp;quot;&lt;br /&gt;
 #&lt;br /&gt;
 &lt;br /&gt;
 base_config_networkifs=&amp;quot;&amp;quot;&lt;br /&gt;
 base_config_networkif_le0=&amp;quot;&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # N.B. Logical interfaces MUST use _ rather than : as illustrated below&lt;br /&gt;
 base_config_networkif_le0_1=&amp;quot;&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 ############&lt;br /&gt;
 #&lt;br /&gt;
 # IP Multipathing (Solaris 8+)&lt;br /&gt;
 #&lt;br /&gt;
 # 	IPMP default mode is automatic failback.&lt;br /&gt;
 #	To change this mode edit /etc/default/mpathd&lt;br /&gt;
 #&lt;br /&gt;
 # ipmp_networkifs:	a list of interfaces to be defined under ipmp control&lt;br /&gt;
 #			a space separated list of pairs only&lt;br /&gt;
 #			e.g. &amp;quot;qfe0_qfe4 qfe1_qfe5&amp;quot;&lt;br /&gt;
 #&lt;br /&gt;
 #		N.B. If the primary interface is used in an ipmp group, the &lt;br /&gt;
 #		     system must be rebooted manually after installation to &lt;br /&gt;
 #		     activate ipmp.&lt;br /&gt;
 #&lt;br /&gt;
 #		N.B. Can only setup ipmp group with pairs of interfaces in one&lt;br /&gt;
 #		     of the following configurations:&lt;br /&gt;
 #			active-standby failover:&lt;br /&gt;
 # 			   Set ipmp mode = s, and specify one logical &lt;br /&gt;
 # 			   hostname/ip address pair.&lt;br /&gt;
 #			failover with outbound load spreading:&lt;br /&gt;
 #			   Set ipmp mode = l, and specify one logical &lt;br /&gt;
 #			   hostname/ip address pair.&lt;br /&gt;
 #			active-active with outbound load spreading:&lt;br /&gt;
 #			   Set ipmp mode = l, specify a second logical &lt;br /&gt;
 #			   hostname/ip address pair for the second interface.&lt;br /&gt;
 #&lt;br /&gt;
 # ipmp_networkif_&amp;lt;if&amp;gt;_&amp;lt;if&amp;gt;: &amp;quot;netgroup mode test1 test2 mask hostname log-ip hostname2 log-ip2&amp;quot;&lt;br /&gt;
 #&lt;br /&gt;
 #			details of the interfaces in the ipmp group&lt;br /&gt;
 #			e.g. networkif_ipmp_qfe0_qfe4&lt;br /&gt;
 #&lt;br /&gt;
 #&lt;br /&gt;
 #			netgroup:	ipmp interface group name&lt;br /&gt;
 #					e.g. database-net&lt;br /&gt;
 #&lt;br /&gt;
 #			ipmp mode:	s = standby (failover only)&lt;br /&gt;
 #&lt;br /&gt;
 #					  ** test addresses are allocated last,&lt;br /&gt;
 #					  ** first test address will be on the&lt;br /&gt;
 #					  ** first virtual interface of the&lt;br /&gt;
 #					  ** first physical adapter. Second&lt;br /&gt;
 #					  ** test address will be on the second&lt;br /&gt;
 #					  ** physical adapter.&lt;br /&gt;
 #&lt;br /&gt;
 #					l = load spreading / active-active&lt;br /&gt;
 #					&lt;br /&gt;
 #					  ** test addresses are allocated on&lt;br /&gt;
 #					  ** first virtual interfaces on both&lt;br /&gt;
 #					  ** the first and second physical&lt;br /&gt;
 #					  ** adapters.&lt;br /&gt;
 #&lt;br /&gt;
 #				To force the test addresses onto the physical&lt;br /&gt;
 #				adapters, use the suffix 'p' to the above&lt;br /&gt;
 #				modes, i.e. 'sp' or 'lp'. This is not&lt;br /&gt;
 #				recommended and may break certain applications.&lt;br /&gt;
 #&lt;br /&gt;
 #			test1:		ipmp test address1&lt;br /&gt;
 #			test2:		ipmp test address2&lt;br /&gt;
 #&lt;br /&gt;
 #				N.B. these addresses must not be used or&lt;br /&gt;
 #					placed in the hosts file&lt;br /&gt;
 #&lt;br /&gt;
 #			mask:		netmask for ipmp pair&lt;br /&gt;
 #			&lt;br /&gt;
 #			hostname:	unique hostname for logical ip&lt;br /&gt;
 #&lt;br /&gt;
 #			log-ip:		logical ip address for first i/f of pair&lt;br /&gt;
 #&lt;br /&gt;
 # 		N.B. The following two parameters are for active-active&lt;br /&gt;
 #		     configurations only. Do not specify them for an &lt;br /&gt;
 #		     active-standby configuration.&lt;br /&gt;
 #&lt;br /&gt;
 #			hostname2:	unique hostname for logical ip&lt;br /&gt;
 #&lt;br /&gt;
 #			log-ip2:	logical ip address for second i/f &lt;br /&gt;
 #					of pair&lt;br /&gt;
 # IPMP on Solaris 10.&lt;br /&gt;
 # If you are running Solaris 10, you can optionally configure the&lt;br /&gt;
 # system to have NO test addresses. In this case, the ipmp mode should be set&lt;br /&gt;
 # to &amp;quot;ln&amp;quot; or &amp;quot;sn&amp;quot; depending on whether you want outbound load spreading or&lt;br /&gt;
 # not and the 2 test addresses do not need to be privided.&lt;br /&gt;
 #&lt;br /&gt;
 # Examples:&lt;br /&gt;
 # --------&lt;br /&gt;
 #&lt;br /&gt;
 #&lt;br /&gt;
 # base_config_ipmp_networkifs=&amp;quot;qfe0_qfe1&amp;quot;&lt;br /&gt;
 # Outbound load spreading 2 hostnames, test on virtual interfaces.&lt;br /&gt;
 # base_config_ipmp_networkif_qfe0_qfe1=&amp;quot;db l 10.0.0.1 10.0.0.2 24 oracle-db 10.0.0.3 apache 10.0.0.4&amp;quot;&lt;br /&gt;
 # Outbound load spreading 1 hostname, test on physical interfaces.&lt;br /&gt;
 # base_config_ipmp_networkif_qfe0_qfe1=&amp;quot;db lp 10.0.0.1 10.0.0.2 24 oracle-db 10.0.0.3&amp;quot;&lt;br /&gt;
 # Failover, 1 hostname, test on physical interfaces.&lt;br /&gt;
 # base_config_ipmp_networkif_qfe0_qfe1=&amp;quot;db sp 10.0.0.1 10.0.0.2 24 oracle-db 10.0.0.3&amp;quot;&lt;br /&gt;
 # Failover, 1 hostname, no test addresses (Sol 10 only).&lt;br /&gt;
 # base_config_ipmp_networkif_qfe0_qfe1=&amp;quot;db sn 24 oracle-db 10.0.0.3&amp;quot;&lt;br /&gt;
 #&lt;br /&gt;
 #&lt;br /&gt;
 base_config_ipmp_networkifs=&amp;quot;&amp;quot;&lt;br /&gt;
 base_config_ipmp_networkif_qfe0_qfe1=&amp;quot;&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 ############&lt;br /&gt;
 #&lt;br /&gt;
 # Misc options&lt;br /&gt;
 #&lt;br /&gt;
 # this section is a catchall for other options not included above&lt;br /&gt;
 #&lt;br /&gt;
 # update_terminal:	if set, put the sysidcfg terminal type into inittab &lt;br /&gt;
 #&lt;br /&gt;
 # enable_savecore:	if set to any value, enable save core (Solaris 2.6 only)&lt;br /&gt;
 #&lt;br /&gt;
 # dumpadm_minfree:	set a limit so that crash dumps don't fill up the&lt;br /&gt;
 #			dump filesystem. See dumpadm(1M) -m option for&lt;br /&gt;
 #			possible values.&lt;br /&gt;
 #&lt;br /&gt;
 # noautoshutdown:	if set to any value, disable power management&lt;br /&gt;
 #&lt;br /&gt;
 # enable_rootlogin:	if set to any value, enable network root login&lt;br /&gt;
 #			from both telnet/rsh and ssh&lt;br /&gt;
 #&lt;br /&gt;
 # enable_rootftp:	if set to any value, enable root ftp access&lt;br /&gt;
 #&lt;br /&gt;
 # shutup_sendmail:	if set, create an alias hostname. to shut up sendmail&lt;br /&gt;
 #&lt;br /&gt;
 # poweroff_afterbuild:	if set, shut the machine down once it has been built&lt;br /&gt;
 #&lt;br /&gt;
 # base_config_dedicated_dump_device:&lt;br /&gt;
 #			if set, dumpadm will configure the partition as a&lt;br /&gt;
 #			Dedicated Dump Device. See dumpadm(1M) for supported&lt;br /&gt;
 #			Operating Environments.&lt;br /&gt;
 #			(Device path e.g. /dev/dsk/c?t?d?s?)&lt;br /&gt;
 #&lt;br /&gt;
 #	N.B. This partition is for the SOLE use of the crashdump utility !&lt;br /&gt;
 #&lt;br /&gt;
 # enable_altbreak:	if set, enable alternate break sequence&lt;br /&gt;
 #&lt;br /&gt;
 # disable_sysid_probe:	if set, skip the sysid stuff on the first reboot; this&lt;br /&gt;
 #			usually just tries to rarp ip addresses for additional&lt;br /&gt;
 #			interfaces and takes *ages* on machines with lots&lt;br /&gt;
 #			of unused network adapters. &lt;br /&gt;
 #			&lt;br /&gt;
 #&lt;br /&gt;
 &lt;br /&gt;
 base_config_update_terminal=&amp;quot;yes&amp;quot;&lt;br /&gt;
 base_config_enable_savecore=&amp;quot;yes&amp;quot;&lt;br /&gt;
 base_config_dumpadm_minfree=&amp;quot;20000k&amp;quot;&lt;br /&gt;
 base_config_noautoshutdown=&amp;quot;pm_disabled&amp;quot;&lt;br /&gt;
 base_config_enable_rootlogin=&amp;quot;&amp;quot;&lt;br /&gt;
 base_config_enable_rootftp=&amp;quot;&amp;quot;&lt;br /&gt;
 base_config_shutup_sendmail=&amp;quot;&amp;quot;&lt;br /&gt;
 base_config_poweroff_afterbuild=&amp;quot;&amp;quot;&lt;br /&gt;
 base_config_dedicated_dump_device=&amp;quot;&amp;quot;&lt;br /&gt;
 base_config_enable_altbreak=&amp;quot;&amp;quot;&lt;br /&gt;
 base_config_disable_sysid_probe=&amp;quot;&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 ############&lt;br /&gt;
 #&lt;br /&gt;
 # NFSv4&lt;br /&gt;
 #&lt;br /&gt;
 # Set up the NFSv4 domain to prevent being prompted at first reboot.&lt;br /&gt;
 # If not set, this will default to the entry in base_config_dns_domain,&lt;br /&gt;
 # and if that is not set, to the value 'domain', which is the default&lt;br /&gt;
 # in /etc/default/nfs&lt;br /&gt;
 #&lt;br /&gt;
 base_config_nfsv4_domain=&amp;quot;&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 ############&lt;br /&gt;
 #&lt;br /&gt;
 # N.B. Unless you need to point this client at alternate media for patches&lt;br /&gt;
 #      and packages that is not held on this server, please skip this section!&lt;br /&gt;
 #&lt;br /&gt;
 # productdir	is where to find the products. This should be a URI style&lt;br /&gt;
 #		path, i.e. nfs://192.168.1.1/export/install/pkgs. If the server&lt;br /&gt;
 #		is the JumpStart server, then it should just be specified&lt;br /&gt;
 #		as a normal path.&lt;br /&gt;
 #&lt;br /&gt;
 # patchdir	is where to find the patches. Same format as productdir.&lt;br /&gt;
 #&lt;br /&gt;
 # --------------------------------------------------------------------------&lt;br /&gt;
 #  Leaving the following blank means they will be populated using jumpstart.conf&lt;br /&gt;
 #  and the JumpStart servers ip address. This is the default behaviour&lt;br /&gt;
 #  and should only be changed if your patch/package repository is not held&lt;br /&gt;
 #  on this server.&lt;br /&gt;
 # --------------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
 base_config_productdir=&amp;quot;&amp;quot;&lt;br /&gt;
 base_config_patchdir=&amp;quot;&amp;quot; &lt;br /&gt;
 &lt;br /&gt;
 #&lt;br /&gt;
 # Last one - mainly for developing JumpStart scripts!&lt;br /&gt;
 #&lt;br /&gt;
 # If you set this, the rc3.d/S99jumpstart script will be disabled&lt;br /&gt;
 # (set to rc3.d/s99jumpstart) every time it is processed - this allows you&lt;br /&gt;
 # to run it by hand and invoke each reboot step&lt;br /&gt;
 # This does not work on Solaris 10.&lt;br /&gt;
 #&lt;br /&gt;
 base_config_debug_jumpstart_postinstall=&amp;quot;&amp;quot; &lt;br /&gt;
 &lt;br /&gt;
 #&lt;br /&gt;
 ###############################################################################&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Other JET configurations ==&lt;br /&gt;
&lt;br /&gt;
=== JET Sparc_DHCP ===&lt;br /&gt;
&lt;br /&gt;
 &amp;gt; I now want to configure JET for a basic sparc DHCP and bootp build.&lt;br /&gt;
 &amp;gt; &lt;br /&gt;
 &amp;gt; For Sparc DHCP do I just need to make the following changes…&lt;br /&gt;
 &amp;gt; &lt;br /&gt;
 &amp;gt; Create a template with the&lt;br /&gt;
 &amp;gt; base_config_client_allocation equal &amp;quot;dhcp&amp;quot;&lt;br /&gt;
 &amp;gt; &lt;br /&gt;
 yep&lt;br /&gt;
 &amp;gt; edit /opt/SUNWjet/etc/Jumpstart.conf to add uname –i&lt;br /&gt;
 &amp;gt; to JS_DHCP_VENDOR=&amp;quot;SUNW.Ultra-5_10 SUNW.Ultra-30&amp;quot; to&lt;br /&gt;
 &amp;gt; reflect my wanting to use SPARC &amp;amp; DHCP.&lt;br /&gt;
 &amp;gt; &lt;br /&gt;
 yep&lt;br /&gt;
 &amp;gt; And I assume make_client will create the appropriate&lt;br /&gt;
 &amp;gt; settings in dhcpmgr etc.&lt;br /&gt;
 &amp;gt; &lt;br /&gt;
 uh huh&lt;br /&gt;
 &amp;gt; Anything else ?&lt;br /&gt;
 &amp;gt; &lt;br /&gt;
&lt;br /&gt;
=== JET Sparc_Bootp ===&lt;br /&gt;
&lt;br /&gt;
 &amp;gt; For Sparc bootp do I just need to create a template&lt;br /&gt;
 &amp;gt; with the base_config_client_allocation equal &amp;quot;bootp&amp;quot;&lt;br /&gt;
 &amp;gt; &lt;br /&gt;
 yep &lt;br /&gt;
 &lt;br /&gt;
 &amp;gt; And I assume make_client will create the appropriate&lt;br /&gt;
 &amp;gt; settings in tftpboot etc.&lt;br /&gt;
 &amp;gt;&lt;br /&gt;
 uh huh&lt;br /&gt;
 &lt;br /&gt;
 &amp;gt; I will not be able to test this for a week or so, as&lt;br /&gt;
 &amp;gt; so far all my testing has been done using Vmware&lt;br /&gt;
 &amp;gt; locally on my laptop.&lt;br /&gt;
&lt;br /&gt;
=== Changing the media location ===&lt;br /&gt;
 &amp;gt; &lt;br /&gt;
 &amp;gt; And finally I will in the future want to change my&lt;br /&gt;
 &amp;gt; media location from /export/install to&lt;br /&gt;
 &amp;gt; /export/jumpstart/s10i &amp;amp; /export/jumpstart/s10sparc&lt;br /&gt;
 &amp;gt; etc.&lt;br /&gt;
 &amp;gt; &lt;br /&gt;
 &amp;gt; I guess I will need to update my “solaris locations”&lt;br /&gt;
 &amp;gt; will I need to make JS_SOLARIS_DIR=/export/jumpstart&lt;br /&gt;
 &amp;gt; in jumpstart.conf ? anything else ?&lt;br /&gt;
 &amp;gt; &lt;br /&gt;
 Only thing that matters is the solaris media locations. The &lt;br /&gt;
 JS_SOLARIS_DIR only affects the location of the media when you use the &lt;br /&gt;
 JET copy_solaris_media command, otherwise it is immaterial. In other &lt;br /&gt;
 words, once your /opt/SUNWjet/etc/solaris_media_locations file is &lt;br /&gt;
 vaild, everthing should be hunky dory.&lt;/div&gt;</summary>
		<author><name>Marty</name></author>
	</entry>
	<entry>
		<id>https://jet.maui.co.uk/wiki/index.php?title=JetWalkthrough&amp;diff=1334</id>
		<title>JetWalkthrough</title>
		<link rel="alternate" type="text/html" href="https://jet.maui.co.uk/wiki/index.php?title=JetWalkthrough&amp;diff=1334"/>
		<updated>2006-08-29T13:04:20Z</updated>

		<summary type="html">&lt;p&gt;Marty: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== JET install and Configuration to server DHCP / PXE intel clients ==&lt;br /&gt;
&lt;br /&gt;
 Contributor: Paul Juster&lt;br /&gt;
&lt;br /&gt;
== Overview of my set up ==&lt;br /&gt;
&lt;br /&gt;
I am using two Intel machines, my JumpStart server is ''sun1'' (192.168.0.250) and my JumpStart client ''vmclient'' needs to end up with a static IP 192.168.0.200 (a flat network). Operating system is Solaris 10 x86.&lt;br /&gt;
&lt;br /&gt;
On the JumpStart server I have already copied the Intel x86 DVD files to my server&lt;br /&gt;
 # /cdrom/cdrom0/Solaris_10/Tools/setup_install_server /export/installx86&lt;br /&gt;
the alternative is to use the jet script to do this (/opt/SUNWjet/bin/copy_solaris_media).&lt;br /&gt;
&lt;br /&gt;
In this example I am using JET 4.3 and I have only displayed lines in files that I changed from the default or that I want to make clear what the setting is.&lt;br /&gt;
&lt;br /&gt;
Do not assume any of the below applied to a SPARC JET client&lt;br /&gt;
&lt;br /&gt;
== Download and Install the packages SUNWjet &amp;amp; documentation packages ==&lt;br /&gt;
&lt;br /&gt;
Get JET from the Sun download centre (http://www.sun.com/downloads)&lt;br /&gt;
&lt;br /&gt;
 # bunzip2 jet.pkg.bz2&lt;br /&gt;
 # pkgadd -d jet.pkg&lt;br /&gt;
  select Packages 10 &amp;amp; 11&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== JET Folder structure == &lt;br /&gt;
&lt;br /&gt;
I created/used the following folders&lt;br /&gt;
&lt;br /&gt;
 /export/pkgs  (not used but needed)&lt;br /&gt;
 /export/patches (not used but needed)&lt;br /&gt;
 /export/installx86 (Where the media has been copied too)&lt;br /&gt;
&lt;br /&gt;
Note this is a simple configuration be in a larger setup /export/media should be used with sub folders for each media type.&lt;br /&gt;
&lt;br /&gt;
== JET NFS shares ==&lt;br /&gt;
&lt;br /&gt;
The following shares were created to support JET.&lt;br /&gt;
&lt;br /&gt;
(&amp;quot;JET framework&amp;quot; share was automatically created during the package install)&lt;br /&gt;
 # share&lt;br /&gt;
 -               /opt/SUNWjet   ro,anon=0   &amp;quot;JET Framework&amp;quot;&lt;br /&gt;
 -               /export/pkgs   ro,anon=0   &amp;quot;Jumpstart Media&amp;quot;&lt;br /&gt;
 -               /export/installx86   ro,anon=0   &amp;quot;Jumpstart Media&amp;quot;&lt;br /&gt;
 -               /export/patches   ro,anon=0   &amp;quot;Jumpstart Media&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Modify JET configuration ==&lt;br /&gt;
&lt;br /&gt;
I edited /opt/SUNWjet/etc/jumpstart.conf to reflect my JET folder structure.&lt;br /&gt;
&lt;br /&gt;
 # &lt;br /&gt;
 # This config file defines the jumpstart specific variables.&lt;br /&gt;
 #&lt;br /&gt;
 JS_PKG_DIR=/export/pkgs&lt;br /&gt;
 JS_PATCH_DIR=/export/patches&lt;br /&gt;
 JS_SOLARIS_DIR=/export&lt;br /&gt;
&lt;br /&gt;
== Adding Solaris Location ==&lt;br /&gt;
&lt;br /&gt;
A “Solaris location” is a pointer to a folder containing the solaris installation media that has been copied to the JumpStart/JET server.&lt;br /&gt;
The Solaris media is copied to the JET server in two ways&lt;br /&gt;
&lt;br /&gt;
a. /cdrom/cdrom0/Solaris_10/Tools/setup_install_server&lt;br /&gt;
b. /opt/SUNWjet/bin/copy_solaris_media&lt;br /&gt;
&lt;br /&gt;
a. is the traditional JumpStart method (I used), b. is the JET method.&lt;br /&gt;
&lt;br /&gt;
Once copied a “Solaris location” is needed for JET to reference and use, this is done by running&lt;br /&gt;
&lt;br /&gt;
 # /opt/SUNWjet/bin/add_solaris_location 10i /export/installx86&lt;br /&gt;
&lt;br /&gt;
== A “template” ==&lt;br /&gt;
&lt;br /&gt;
A JET template outlines a JET clients configuration/installation and contains the answers to the installation questions that are normally asked (this is a very simplistic view as a lot more can be accomplish with the template).  I created a template called vmclient&lt;br /&gt;
&lt;br /&gt;
 # /opt/SUNWjet/bin/make_template vmclient&lt;br /&gt;
&lt;br /&gt;
== Customise the template (DHCP/PXE) ==&lt;br /&gt;
 &lt;br /&gt;
Once the template has been created some basic details needed to be added.&lt;br /&gt;
&lt;br /&gt;
(I made the following changes and ignored all other lines at the moment)&lt;br /&gt;
base_config_ClientArch=i86pc&lt;br /&gt;
base_config_ClientEther=00:0c:29:76:fd:15&lt;br /&gt;
base_config_ClientOS=10i&lt;br /&gt;
base_config_sysidcfg_nameservice=NONE&lt;br /&gt;
base_config_sysidcfg_network_interface=PRIMARY &lt;br /&gt;
base_config_sysidcfg_ip_address=192.168.0.200&lt;br /&gt;
base_config_sysidcfg_netmask=255.255.255.0&lt;br /&gt;
base_config_sysidcfg_root_password=&amp;quot;boajrOmU7GFmY&amp;quot;&lt;br /&gt;
base_config_sysidcfg_system_locale=en_GB.ISO8859-1&lt;br /&gt;
base_config_sysidcfg_timeserver=localhost&lt;br /&gt;
base_config_sysidcfg_timezone=&amp;quot;GB&amp;quot;&lt;br /&gt;
base_config_sysidcfg_terminal=vt100&lt;br /&gt;
base_config_sysidcfg_security_policy=NONE&lt;br /&gt;
base_config_sysidcfg_protocol_ipv6=no&lt;br /&gt;
base_config_sysidcfg_default_route=192.168.0.254&lt;br /&gt;
base_config_client_allocation=&amp;quot;grub&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Its worth noting that intel machine can only be built using JET/JumpStart by using DHCP and PXE boot methods, in order for this to be configured within JET following line partly configures this.&lt;br /&gt;
&lt;br /&gt;
 base_config_client_allocation=&amp;quot;grub&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== DHCP server setup ==&lt;br /&gt;
&lt;br /&gt;
In order for JET to support DHCP clients, the server needs some basic details to be added to /opt/SUNWjet/Products/base_config/solaris/make_dhcp file&lt;br /&gt;
&lt;br /&gt;
 # cat make_dhcp&lt;br /&gt;
 ################################################################################&lt;br /&gt;
 # Synopsis: PXE boot pre-JUMP setups&lt;br /&gt;
 #       if DHCP server is not present, then activate it&lt;br /&gt;
 #&lt;br /&gt;
 # Change the NETWORK details to suit your own&lt;br /&gt;
 NETWORK=192.168.0.0&lt;br /&gt;
 NETMASK=255.255.255.0&lt;br /&gt;
 ROUTER=192.168.0.254&lt;br /&gt;
 &lt;br /&gt;
 dhcpconfig -D -r SUNWfiles -p /var/tmp&lt;br /&gt;
 &lt;br /&gt;
 dhcpconfig -N ${NETWORK} -m ${NETMASK} -t ${ROUTER}&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
In order for these changes to be applied to the solaris dhcp server, permissions on the make_dhcp file need to be changed so the file can be executed.&lt;br /&gt;
&lt;br /&gt;
 # chmod +x make_dhcp&lt;br /&gt;
 # ./make_dhcp&lt;br /&gt;
 Created DHCP configuration file.&lt;br /&gt;
 Created dhcptab.&lt;br /&gt;
 Added &amp;quot;Locale&amp;quot; macro to dhcptab.&lt;br /&gt;
 Added server macro to dhcptab - sun1.&lt;br /&gt;
 DHCP server started.&lt;br /&gt;
 Added network macro to dhcptab - 192.168.0.0.&lt;br /&gt;
 Created network table.&lt;br /&gt;
&lt;br /&gt;
As you can see this has populated/configured the dhcp server with the basic settings, the client specific settings are added when make_client is run.&lt;br /&gt;
&lt;br /&gt;
== Populating JET with a client ==&lt;br /&gt;
&lt;br /&gt;
A client can now be added to the JET server using the make_client script. &lt;br /&gt;
&lt;br /&gt;
 # /opt/SUNWjet/bin/make_client -f vmclient&lt;br /&gt;
 Gathering network information..&lt;br /&gt;
        Client: 192.168.0.200 (192.168.0.0/255.255.255.0)&lt;br /&gt;
        Server: 192.168.0.250 (192.168.0.0/255.255.255.0, SunOS)&lt;br /&gt;
 Solaris: client_prevalidate&lt;br /&gt;
         Clean up /etc/ethers&lt;br /&gt;
 Solaris: client_build&lt;br /&gt;
 Creating sysidcfg&lt;br /&gt;
 Creating profile&lt;br /&gt;
 Adding base_config specifics to client configuration&lt;br /&gt;
 Solaris: Configuring JumpStart boot for vmclient&lt;br /&gt;
         Starting SMF services for JumpStart&lt;br /&gt;
 Solaris: Configure PXE/grub build&lt;br /&gt;
         Adding install client&lt;br /&gt;
        Doing a TEXT based install&lt;br /&gt;
         Leaving the graphical device as the primary console&lt;br /&gt;
         Configuring vmclient macro&lt;br /&gt;
         Using local dhcp server&lt;br /&gt;
         PXE/grub configuration complete&lt;br /&gt;
 Running '/opt/SUNWjet/bin/check_client  vmclient'&lt;br /&gt;
        Client: 192.168.0.200 (192.168.0.0/255.255.255.0)&lt;br /&gt;
        Server: 192.168.0.250 (192.168.0.0/255.255.255.0, SunOS)&lt;br /&gt;
 Checking product base_config/solaris&lt;br /&gt;
 Checking Solaris boot image for critical patches (this may take a while..)&lt;br /&gt;
 &lt;br /&gt;
 WARNING: Patch 119375-03 has not been applied to the boot image.&lt;br /&gt;
                This patch has been critical to the successful&lt;br /&gt;
                installation of the O/S.&lt;br /&gt;
 &lt;br /&gt;
                Please apply the patch with the command:&lt;br /&gt;
 &lt;br /&gt;
        # patchadd -C /export/installx86/Solaris_10/Tools/Boot 119375-03&lt;br /&gt;
 &lt;br /&gt;
 --------------------------------------------------------------&lt;br /&gt;
 Check of client vmclient&lt;br /&gt;
 -&amp;gt; Passed....&lt;br /&gt;
&lt;br /&gt;
The obvious thing from this output is that it passed, but also you can see that a PXE/Grub build took place (which means that this client is an intel client)&lt;br /&gt;
&lt;br /&gt;
== Client boot ==&lt;br /&gt;
&lt;br /&gt;
The intelx86 client needs booting off the network, F12 is the normal key at boot time.&lt;br /&gt;
&lt;br /&gt;
The intelx86 client gets an ip address&lt;br /&gt;
&lt;br /&gt;
The grub loader is loaded&lt;br /&gt;
&lt;br /&gt;
The grub loader load the multi boot image from the /tftpboot directory and hopefully now installation windows/questions will be asked.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Reference files ==&lt;br /&gt;
&lt;br /&gt;
=== jumpstart.conf ===&lt;br /&gt;
&lt;br /&gt;
 # This config file defines the jumpstart specific variables. &lt;br /&gt;
 #&lt;br /&gt;
 # Version:	$Revision: 1.5 $&lt;br /&gt;
 # Last Updated;	$Date: 2006/02/04 12:08:58 $&lt;br /&gt;
 #&lt;br /&gt;
 # Location of the additional media for patches and packages:&lt;br /&gt;
 #&lt;br /&gt;
 # These paths should be URI form e.g. nfs://&amp;lt;serverip&amp;gt;/&amp;lt;path&amp;gt; or &amp;lt;path&amp;gt;&lt;br /&gt;
 # Currently only PKG_DIR and PATCH_DIR can be on a remote NFS server.&lt;br /&gt;
 # If they are just &amp;lt;path&amp;gt;, the appropriate address of the JumpStart server&lt;br /&gt;
 # will be added.&lt;br /&gt;
 #&lt;br /&gt;
 # N.B. if the media location is on a different server, please ensure it is&lt;br /&gt;
 #      routable from the client !&lt;br /&gt;
 #&lt;br /&gt;
 JS_Default_Root_PW=boajrOmU7GFmY&lt;br /&gt;
 JS_BUILD_DIR=/var/opt/sun/jet&lt;br /&gt;
 JS_PKG_DIR=/export/pkgs&lt;br /&gt;
 JS_PATCH_DIR=/export/patches&lt;br /&gt;
 JS_SOLARIS_DIR=/export&lt;br /&gt;
 JS_DHCP_VENDOR=&amp;quot;SUNW.Ultra-5_10 SUNW.Ultra-30&amp;quot;&lt;br /&gt;
 #JS_CLIENT_MANAGEMENT=&amp;quot;dhcp bootp&amp;quot;&lt;br /&gt;
 JS_CLIENT_MANAGEMENT=&amp;quot;bootp&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== make_dhcp ===&lt;br /&gt;
 #!/usr/bin/ksh&lt;br /&gt;
 #&lt;br /&gt;
 # This config file defines the dhcp variables. &lt;br /&gt;
 #&lt;br /&gt;
 # Copyright 2005 Sun Microsystems, Inc.  All rights reserved.&lt;br /&gt;
 # Use is subject to license terms.&lt;br /&gt;
 ################################################################################&lt;br /&gt;
 #&lt;br /&gt;
 # Synopsis: PXE boot pre-JUMP setups&lt;br /&gt;
 #	if DHCP server is notpresent, then activate it&lt;br /&gt;
 #&lt;br /&gt;
 # Change the NETWORk details to suit your own&lt;br /&gt;
 NETWORK=192.168.0.0&lt;br /&gt;
 NETMASK=255.255.255.0&lt;br /&gt;
 ROUTER=192.168.0.254&lt;br /&gt;
 &lt;br /&gt;
 dhcpconfig -D -r SUNWfiles -p /var/tmp&lt;br /&gt;
 &lt;br /&gt;
 dhcpconfig -N ${NETWORK} -m ${NETMASK} -t ${ROUTER}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== template/vmclient ===&lt;br /&gt;
 ###############################################################################&lt;br /&gt;
 #&lt;br /&gt;
 # Client template file&lt;br /&gt;
 #&lt;br /&gt;
 # Client:	vmclient&lt;br /&gt;
 # Created:	Friday May 19 19:26:39 BST 2006&lt;br /&gt;
 # &lt;br /&gt;
 # This file was automatically generated using 'make_template'&lt;br /&gt;
 ###############################################################################&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 ###############################################################################&lt;br /&gt;
 #&lt;br /&gt;
 # Product:	base_config&lt;br /&gt;
 #&lt;br /&gt;
 # Synopsys:	Basic host information&lt;br /&gt;
 #&lt;br /&gt;
 ###############################################################################&lt;br /&gt;
&lt;br /&gt;
 ############&lt;br /&gt;
 #&lt;br /&gt;
 # Architecture type:&lt;br /&gt;
 #		sun4c		: e.g. SS1, SS2, SS IPX&lt;br /&gt;
 #		sun4d		: e.g. SS1000, SS2000&lt;br /&gt;
 #		sun4e		: ?&lt;br /&gt;
 #		sun4m		: e.g. SS LX, SS4, SS5, SS10, SS20&lt;br /&gt;
 #		sun4u		: UltraSparc - U1, U2, E3x00, E4x00 etc&lt;br /&gt;
 #		sun4u1		: E10K&lt;br /&gt;
 #		sun4v		: T2000&lt;br /&gt;
 #&lt;br /&gt;
 #		i86pc		: Intel X86&lt;br /&gt;
 #&lt;br /&gt;
 # Ethernet can be obtained from the 'banner' command at OBP&lt;br /&gt;
 #&lt;br /&gt;
 # OS is one of the values you used to register the solaris media using&lt;br /&gt;
 #    the add_solaris_location command&lt;br /&gt;
 #&lt;br /&gt;
 base_config_ClientArch=i86pc&lt;br /&gt;
 base_config_ClientEther=00:0c:29:76:fd:15&lt;br /&gt;
 base_config_ClientOS=10i&lt;br /&gt;
 &lt;br /&gt;
 ############&lt;br /&gt;
 #&lt;br /&gt;
 # Client allocation&lt;br /&gt;
 #&lt;br /&gt;
 # The mechanism used to build this client; by default, the options listed&lt;br /&gt;
 # in /opt/jet/etc/jumpstart.conf will be tried; you should only set this&lt;br /&gt;
 # if this particular client needs to do something different.&lt;br /&gt;
 # JET supports bootp, dhcp, and grub as allocation options.&lt;br /&gt;
 # Currently grub is only supported on i86pc architectures.&lt;br /&gt;
 #&lt;br /&gt;
 base_config_client_allocation=&amp;quot;grub&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# If you are using grub, you can set this variable to apply additional&lt;br /&gt;
# grub directives to the menu.lst.&amp;lt;MACADDRESS&amp;gt; file.&lt;br /&gt;
#&lt;br /&gt;
base_config_grub_append=&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
############&lt;br /&gt;
#&lt;br /&gt;
# products	is the set of products to install after base_config; this&lt;br /&gt;
#		should be updated automatically by make_template, so you&lt;br /&gt;
#		will only need to change it, if you wish to omit certain&lt;br /&gt;
#		modules when testing/debugging.&lt;br /&gt;
#&lt;br /&gt;
base_config_products=&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
############&lt;br /&gt;
#&lt;br /&gt;
# JumpStart sysidcfg information&lt;br /&gt;
#&lt;br /&gt;
# The sysidcfg file provides information at initial boot time so that the&lt;br /&gt;
# system can properly identify itself. The interface and ip address defined &lt;br /&gt;
# here MUST be on the same subnet as the JumpStart server. The root password &lt;br /&gt;
# is set here also and must be written in encrypted format. The default value&lt;br /&gt;
# shown here is &amp;quot;newroot&amp;quot;. The timeserver is normally the IP address of the&lt;br /&gt;
# JumpStart server.&lt;br /&gt;
#&lt;br /&gt;
# nameservice examples:&lt;br /&gt;
#			NONE&lt;br /&gt;
#			NIS { domain_name=uk.sun.com name_server=nis.uk.sun.com(129.159.91.1) }&lt;br /&gt;
#		or for DNS&lt;br /&gt;
#			DNS { domain_name=uk.sun.com name_server=192.168.1.1 search=uk.sun.com }&lt;br /&gt;
#&lt;br /&gt;
# network_interface:&lt;br /&gt;
#			le0, hme0&lt;br /&gt;
#			or PRIMARY (the default interface - net in OBP)&lt;br /&gt;
#			N.B. PRIMARY is only valid from Solaris 7 upwards&lt;br /&gt;
#&lt;br /&gt;
# locale:&lt;br /&gt;
#			en_UK	for Solaris 2.6&lt;br /&gt;
#			en_GB	for Solaris 7 and above&lt;br /&gt;
#&lt;br /&gt;
# timeserver:		Where the client gets the current time from.&lt;br /&gt;
#			Leave blank to default the the JumpStart server&lt;br /&gt;
#&lt;br /&gt;
#			Alternatively, set to 'localhost' to trust the current&lt;br /&gt;
#			hardware clock on the client&lt;br /&gt;
#&lt;br /&gt;
# terminal:		terminal type (vt100/vt220/sun etc)&lt;br /&gt;
#&lt;br /&gt;
# security_policy:	Kerberos policy (Solaris 8 +)&lt;br /&gt;
#&lt;br /&gt;
# protocol_ipv6:	Use ipv6 or not (Solaris 8 +)&lt;br /&gt;
#&lt;br /&gt;
# default_route:	Solaris 9 allows a default route to be set&lt;br /&gt;
#			(ignored on all other versions of Solaris, less than 9)&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
base_config_sysidcfg_nameservice=NONE&lt;br /&gt;
base_config_sysidcfg_network_interface=PRIMARY &lt;br /&gt;
base_config_sysidcfg_ip_address=192.168.0.200&lt;br /&gt;
base_config_sysidcfg_netmask=255.255.255.0&lt;br /&gt;
base_config_sysidcfg_root_password=&amp;quot;boajrOmU7GFmY&amp;quot;&lt;br /&gt;
base_config_sysidcfg_system_locale=en_GB.ISO8859-1&lt;br /&gt;
base_config_sysidcfg_timeserver=localhost&lt;br /&gt;
base_config_sysidcfg_timezone=&amp;quot;GB&amp;quot;&lt;br /&gt;
base_config_sysidcfg_terminal=vt100&lt;br /&gt;
base_config_sysidcfg_security_policy=NONE&lt;br /&gt;
base_config_sysidcfg_protocol_ipv6=no&lt;br /&gt;
base_config_sysidcfg_default_route=192.168.0.254&lt;br /&gt;
&lt;br /&gt;
########################################&lt;br /&gt;
# X86, X64 specific settings. If this is an x86 client, then you may need&lt;br /&gt;
# to configure these settings. They are ignored for SPARC builds.&lt;br /&gt;
#&lt;br /&gt;
# base_config_x86_nowin:&lt;br /&gt;
# This stops Solaris from trying to run windows during the install.&lt;br /&gt;
# the default value is yes.&lt;br /&gt;
#&lt;br /&gt;
# base_config_x86_console:&lt;br /&gt;
# Set the console to the correct tty port. This is used for doing installs&lt;br /&gt;
# via the serial port or the SP. b1600,v20z and v40z use ttya. lx50, v60x,&lt;br /&gt;
# and v65x use ttyb. NOTE: you only need to set this if you are NOT going &lt;br /&gt;
# to connect a keyboard and monitor to the client.&lt;br /&gt;
#&lt;br /&gt;
# base_config_x86_disable_acpi:&lt;br /&gt;
# Disable ACPI - sometimes disabling ACPI makes the install go&lt;br /&gt;
# better due to how the interrupts are handled. Non-Null disables ACPI.&lt;br /&gt;
#&lt;br /&gt;
# base_config_x86_safetoreboot:&lt;br /&gt;
# The Solaris installer can't control the BIOS, therefore does not&lt;br /&gt;
# know if its safe to reboot the client as it may simply jumpstart&lt;br /&gt;
# again. If your PXE boot is a one time option, and the next reboot&lt;br /&gt;
# will attempt to boot from disk, then you probably want to set this&lt;br /&gt;
# option to &amp;quot;yes&amp;quot;. Otherwise, leave it as it is so that it won't reboot&lt;br /&gt;
# and therefore allow you to manually change your BIOS to boot from disk.&lt;br /&gt;
#&lt;br /&gt;
# base_config_x86_disable_kdmconfig:&lt;br /&gt;
# X86 systems sometimes go interactive on the first reboot (Bug 6321043)&lt;br /&gt;
# on Solaris 10 Update 1. Setting this parameter will stop this from&lt;br /&gt;
# happenning.&lt;br /&gt;
# &lt;br /&gt;
# base_config_x86_confflags&lt;br /&gt;
# The parameters specified for this variable are passed directly to &lt;br /&gt;
# add_install_client -b confflags= option.  &lt;br /&gt;
# For e.g., by specifying,&lt;br /&gt;
# base_config_x86_confflags=&amp;quot;-f -P/boot/solaris/dca&amp;quot;&lt;br /&gt;
# &lt;br /&gt;
# add_install_client is called with -b confflag=&amp;quot;-f -P /boot/solaris/dca&amp;quot;&lt;br /&gt;
# option.&lt;br /&gt;
#&lt;br /&gt;
# base_config_sysidcfg_x86_kdmfile&lt;br /&gt;
# Append the file specified here to sysidcfg file.&lt;br /&gt;
# This variable can reference a file relative to the &lt;br /&gt;
# Clients/&amp;lt;clientname&amp;gt; directory or a absolute path. &lt;br /&gt;
#&lt;br /&gt;
#&lt;br /&gt;
base_config_x86_nowin=&amp;quot;yes&amp;quot;&lt;br /&gt;
base_config_x86_console=&amp;quot;&amp;quot;&lt;br /&gt;
base_config_x86_disable_acpi=&amp;quot;&amp;quot;&lt;br /&gt;
base_config_x86_safetoreboot=&amp;quot;&amp;quot;&lt;br /&gt;
base_config_x86_disable_kdmconfig=&amp;quot;&amp;quot;&lt;br /&gt;
base_config_x86_confflags=&amp;quot;&amp;quot;&lt;br /&gt;
base_config_sysidcfg_x86_kdmfile=&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
#&lt;br /&gt;
#&lt;br /&gt;
#&lt;br /&gt;
#######&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# &lt;br /&gt;
# Want to create your own custom profile ? if so, use this variable to&lt;br /&gt;
# reference a file relative to the Clients/&amp;lt;clientname&amp;gt; directory or &lt;br /&gt;
# absolute path, otherwise fill in the other details below to get toolkit &lt;br /&gt;
# to create one for you.&lt;br /&gt;
#&lt;br /&gt;
# If absolute path is specified, then the profile file is copied &lt;br /&gt;
# to Clients/&amp;lt;clientname&amp;gt; directory.&lt;br /&gt;
#&lt;br /&gt;
base_config_profile=&amp;quot;&amp;quot;&lt;br /&gt;
#&lt;br /&gt;
#######&lt;br /&gt;
# OR fill out the base_config_profile variables below.&lt;br /&gt;
############&lt;br /&gt;
#&lt;br /&gt;
# JumpStart profile information&lt;br /&gt;
#&lt;br /&gt;
#&lt;br /&gt;
# A limited profile can be automatically generated here. If further &lt;br /&gt;
# customisation is required, then you can manually create a profile in the&lt;br /&gt;
# client directory and reference it in the base_config_profile variable.&lt;br /&gt;
#&lt;br /&gt;
# Cluster:&lt;br /&gt;
#	SUNWCrnet		: Minimal. Solaris 10 only&lt;br /&gt;
#	SUNWCreq		: Required - really basic, good for testing&lt;br /&gt;
#	SUNWCuser		: User collection&lt;br /&gt;
#	SUNWCprog		: User + Developers collection&lt;br /&gt;
#	SUNWCall		: All packages&lt;br /&gt;
#	SUNWCXall		: All + OEM packages	(mandatory for E10K)&lt;br /&gt;
#&lt;br /&gt;
# usedisk:	defines the disk that the OS will be loaded on to - bootdisk&lt;br /&gt;
#		(if this is set to rootdisk. , then the current boot disk will&lt;br /&gt;
#		 be used)&lt;br /&gt;
#&lt;br /&gt;
# dontuse:	defines disks that should not be used..&lt;br /&gt;
#		** N.B. This will only be used if 'usedisk' is NOT set&lt;br /&gt;
#		Space seperated list of disks of the form c?t?d?&lt;br /&gt;
#&lt;br /&gt;
# partition sizes:&lt;br /&gt;
#&lt;br /&gt;
# 	if partitions are not required simply leave blank. In order to maintain &lt;br /&gt;
# 	consistency the partitions will always use the same slice number:&lt;br /&gt;
#&lt;br /&gt;
#		/	s0&lt;br /&gt;
#		swap	s1&lt;br /&gt;
#&lt;br /&gt;
# 	We've prepopulated the remaining slices based on Sun defaults,&lt;br /&gt;
#	but you can change this.&lt;br /&gt;
#		/var	s5&lt;br /&gt;
#		/usr	s6&lt;br /&gt;
#		/opt	s7&lt;br /&gt;
#&lt;br /&gt;
#	at most one partition can have the size 'free' which denotes all the&lt;br /&gt;
#	unallocated/spare space on a disk.&lt;br /&gt;
#&lt;br /&gt;
base_config_profile_cluster=SUNWCXall&lt;br /&gt;
base_config_profile_usedisk=rootdisk.&lt;br /&gt;
&lt;br /&gt;
base_config_profile_dontuse=&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
base_config_profile_root=free &lt;br /&gt;
base_config_profile_swap=256&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# If you are using VxVM and want your boot disk to look like the mirror, then&lt;br /&gt;
# leave slices 3 and 4 empty. If you do not care about keeping the two disks&lt;br /&gt;
# looking cosmetically the same, please just make sure you have two free slices&lt;br /&gt;
# somewhere on the disk for VxVM!&lt;br /&gt;
#&lt;br /&gt;
# If you are not using VxVM, then you can use s3 and s4 for whatever you wish!&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
base_config_profile_s3_mtpt=&amp;quot;&amp;quot;&lt;br /&gt;
base_config_profile_s3_size=&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
base_config_profile_s4_mtpt=&amp;quot;&amp;quot;&lt;br /&gt;
base_config_profile_s4_size=&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
base_config_profile_s5_mtpt=&amp;quot;/var&amp;quot;&lt;br /&gt;
base_config_profile_s5_size=&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
base_config_profile_s6_mtpt=&amp;quot;/usr&amp;quot;&lt;br /&gt;
base_config_profile_s6_size=&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# If you are using DiskSuite, the default behaviour is to use slice 7 as a&lt;br /&gt;
# location for metastate databases. If you are using DiskSuites default config,&lt;br /&gt;
# please avoid using s7 for data!&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
base_config_profile_s7_mtpt=&amp;quot;/opt&amp;quot;&lt;br /&gt;
base_config_profile_s7_size=&amp;quot;&amp;quot;&lt;br /&gt;
#&lt;br /&gt;
############&lt;br /&gt;
&lt;br /&gt;
############&lt;br /&gt;
#&lt;br /&gt;
# You can specify additional disks to use/configure here&lt;br /&gt;
#&lt;br /&gt;
# additional_disks is a space separated list of c?t?d? type disk names&lt;br /&gt;
#&lt;br /&gt;
# For each disk listed in additional_disks, a pair of variables of the form&lt;br /&gt;
#&lt;br /&gt;
#	base_config_profile_disk_c?t?d?s?_mtpt=&amp;quot;....&amp;quot;&lt;br /&gt;
#	base_config_profile_disk_c?t?d?s?_size=&amp;quot;....&amp;quot;&lt;br /&gt;
#&lt;br /&gt;
# should be defined for each slice required on the disk.&lt;br /&gt;
#&lt;br /&gt;
# N.B. DO NOT SET THE BOOT DISK UP HERE !&lt;br /&gt;
#&lt;br /&gt;
base_config_profile_additional_disks=&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
############&lt;br /&gt;
#&lt;br /&gt;
# Additional locales/geos e.g. N_Europe, C_Europe&lt;br /&gt;
#&lt;br /&gt;
#&lt;br /&gt;
base_config_profile_add_locales=&amp;quot;&amp;quot;&lt;br /&gt;
base_config_profile_del_locales=&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
base_config_profile_add_geos=&amp;quot;&amp;quot;&lt;br /&gt;
base_config_profile_del_geos=&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
############&lt;br /&gt;
#&lt;br /&gt;
# UFS Logging&lt;br /&gt;
#&lt;br /&gt;
# Solaris 7 and above support UFS+, which allows for a logging filesystem&lt;br /&gt;
# under UFS. If you want to use this feature on any of the UFS mount points,&lt;br /&gt;
# please specify the mount points here, as a space seperated list, or enter&lt;br /&gt;
# the keyword &amp;quot;all&amp;quot; to enable logging on all UFS filesystems.&lt;br /&gt;
#&lt;br /&gt;
# Solaris 9 09/04 enables logging by default. You can also specify mountpoints&lt;br /&gt;
# preceded by a - sign to say that you DON'T want logging enabled on that&lt;br /&gt;
# filesystem, or you can use the keyword &amp;quot;none&amp;quot; to say you don't want any &lt;br /&gt;
# ufs logging turned on at all.&lt;br /&gt;
#&lt;br /&gt;
# N.B. root (/) can be included in the list, and is included by default if&lt;br /&gt;
#      using either the &amp;quot;all&amp;quot; or &amp;quot;none&amp;quot; keyword.&lt;br /&gt;
#      &lt;br /&gt;
#      Finally, you can't mix keywords and mountpoints. i.e. &amp;quot;all -/&amp;quot; is NOT &lt;br /&gt;
#      valid.&lt;br /&gt;
# e.g. base_config_ufs_logging_filesys=&amp;quot;all&amp;quot;  		: log all filesystems&lt;br /&gt;
#      base_config_ufs_logging_filesys=&amp;quot;none&amp;quot; 		: log no filesystems&lt;br /&gt;
#      base_config_ufs_logging_filesys=&amp;quot;-/ /var -/usr&amp;quot;  : log /var, but not / and /usr.&lt;br /&gt;
#&lt;br /&gt;
base_config_ufs_logging_filesys=&amp;quot;all&amp;quot;&lt;br /&gt;
&lt;br /&gt;
############&lt;br /&gt;
#&lt;br /&gt;
# Packages to add to/remove from the selected cluster&lt;br /&gt;
#&lt;br /&gt;
# Use this to populate the profile with package &amp;lt;pkg&amp;gt; &amp;lt;add|delete&amp;gt; entries&lt;br /&gt;
#&lt;br /&gt;
base_config_profile_add_packages=&amp;quot;&amp;quot;&lt;br /&gt;
base_config_profile_del_packages=&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
############&lt;br /&gt;
#&lt;br /&gt;
# Clusters to add to/remove &lt;br /&gt;
#&lt;br /&gt;
# Use this to populate the profile with cluster &amp;lt;cluster&amp;gt; &amp;lt;add|delete&amp;gt; entries&lt;br /&gt;
#&lt;br /&gt;
base_config_profile_add_clusters=&amp;quot;&amp;quot;&lt;br /&gt;
base_config_profile_del_clusters=&amp;quot;SUNWCpm SUNWCpmx SUNWCdial SUNWCdialx&amp;quot;&lt;br /&gt;
&lt;br /&gt;
############&lt;br /&gt;
#&lt;br /&gt;
# Remote file systems (NFS)&lt;br /&gt;
#&lt;br /&gt;
# Specify these as space seperated list of pairs as follows, using ? as&lt;br /&gt;
# the seperator (as : has special meanings with nfs!)&lt;br /&gt;
#&lt;br /&gt;
# e.g. to mount 1.1.1.1:/fs on /fs you would create the entry&lt;br /&gt;
#      base_config_nfs_mounts=&amp;quot;fs?1.1.1.1:/fs&amp;quot;&lt;br /&gt;
#&lt;br /&gt;
base_config_nfs_mounts=&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
############&lt;br /&gt;
#&lt;br /&gt;
# Host information&lt;br /&gt;
#&lt;br /&gt;
# This section defines most things network related etc.&lt;br /&gt;
#&lt;br /&gt;
# In addtion, if the machine will be JumpStarted as one name/address and&lt;br /&gt;
# needs to have a different name/address once installed, this is where you&lt;br /&gt;
# can set that information.&lt;br /&gt;
#&lt;br /&gt;
# nodename:		the value for /etc/nodename if it's not the default&lt;br /&gt;
#			hostname&lt;br /&gt;
#&lt;br /&gt;
# defaultrouter:	the value for /etc/defaultrouter.&lt;br /&gt;
#&lt;br /&gt;
# notrouter:		if this is set, the file /etc/notrouter will be created&lt;br /&gt;
#&lt;br /&gt;
# dns_domain:		domain entry for /etc/resolv.conf&lt;br /&gt;
#&lt;br /&gt;
# dns_nameservers:	nameserver entries for /etc/resolv.conf&lt;br /&gt;
#			(list of ip addresses, space separated)&lt;br /&gt;
#&lt;br /&gt;
# dns_searchpath:	list of entries to go in the search line&lt;br /&gt;
#&lt;br /&gt;
# dns_disableforbuild:	If there is no DNS available in the build&lt;br /&gt;
#                       environment, set this to delay the configuration&lt;br /&gt;
#			of DNS until later on.&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
base_config_nodename=&amp;quot;&amp;quot;&lt;br /&gt;
base_config_defaultrouter=&amp;quot;&amp;quot;&lt;br /&gt;
base_config_notrouter=&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
base_config_dns_domain=&amp;quot;&amp;quot;&lt;br /&gt;
base_config_dns_nameservers=&amp;quot;&amp;quot;&lt;br /&gt;
base_config_dns_searchpath=&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
base_config_dns_disableforbuild=&amp;quot;yes&amp;quot;&lt;br /&gt;
&lt;br /&gt;
###########&lt;br /&gt;
#&lt;br /&gt;
# NTP configuration&lt;br /&gt;
#&lt;br /&gt;
# Specify a list of names or ip addresses for the NTP servers. The first&lt;br /&gt;
# one will be given a 'prefer' tag. This section will only place lines&lt;br /&gt;
# of the form: server &amp;lt;ipaddress/name&amp;gt; [prefer]&lt;br /&gt;
# into the /etc/inet/ntp.conf file. If you require more control of ntp,&lt;br /&gt;
# please use the custom module to deploy your own custom ntp.conf file.&lt;br /&gt;
#&lt;br /&gt;
# N.B. If you do use names, they must be resolvable in your name service.&lt;br /&gt;
#&lt;br /&gt;
base_config_ntp_servers=&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
############&lt;br /&gt;
#&lt;br /&gt;
# Network Interface information&lt;br /&gt;
#&lt;br /&gt;
#&lt;br /&gt;
# networkifs:		a list of interfaces to be defined,&lt;br /&gt;
#			space seperated &amp;quot;le0 hme0&amp;quot;.&lt;br /&gt;
#			N.B. the sysidcfg interface will already be configured&lt;br /&gt;
#			&lt;br /&gt;
#			Logical interfaces should be defined using _'s rather&lt;br /&gt;
#			than :'s.&lt;br /&gt;
#&lt;br /&gt;
# networkif_&amp;lt;ifname&amp;gt;:	the details of the interface &amp;lt;if&amp;gt;&lt;br /&gt;
#			&amp;quot;netname netmask hostname address&amp;quot;&lt;br /&gt;
#&lt;br /&gt;
#			netname:	arbritrary name for /etc/networks&lt;br /&gt;
#			netmask:	netmask of this if (e.g. 255.255.255.0)&lt;br /&gt;
#			hostname:	unique hostname (N.B. not multihomed)&lt;br /&gt;
#			address:	IP address of this interface&lt;br /&gt;
#&lt;br /&gt;
# For example:&lt;br /&gt;
#&lt;br /&gt;
#	base_config_networkifs=&amp;quot;ge0 ge0_1&amp;quot;&lt;br /&gt;
#	base_config_networkif_ge0=&amp;quot;bkp 255.255.255.0 me-bkp 192.168.1.0&amp;quot;&lt;br /&gt;
#	base_config_networkif_ge0_1=&amp;quot;bkp2 255.255.255.0 me-bkp2 192.168.2.0&amp;quot;&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
base_config_networkifs=&amp;quot;&amp;quot;&lt;br /&gt;
base_config_networkif_le0=&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# N.B. Logical interfaces MUST use _ rather than : as illustrated below&lt;br /&gt;
base_config_networkif_le0_1=&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
############&lt;br /&gt;
#&lt;br /&gt;
# IP Multipathing (Solaris 8+)&lt;br /&gt;
#&lt;br /&gt;
# 	IPMP default mode is automatic failback.&lt;br /&gt;
#	To change this mode edit /etc/default/mpathd&lt;br /&gt;
#&lt;br /&gt;
# ipmp_networkifs:	a list of interfaces to be defined under ipmp control&lt;br /&gt;
#			a space separated list of pairs only&lt;br /&gt;
#			e.g. &amp;quot;qfe0_qfe4 qfe1_qfe5&amp;quot;&lt;br /&gt;
#&lt;br /&gt;
#		N.B. If the primary interface is used in an ipmp group, the &lt;br /&gt;
#		     system must be rebooted manually after installation to &lt;br /&gt;
#		     activate ipmp.&lt;br /&gt;
#&lt;br /&gt;
#		N.B. Can only setup ipmp group with pairs of interfaces in one&lt;br /&gt;
#		     of the following configurations:&lt;br /&gt;
#			active-standby failover:&lt;br /&gt;
#			   Set ipmp mode = s, and specify one logical &lt;br /&gt;
#			   hostname/ip address pair.&lt;br /&gt;
#			failover with outbound load spreading:&lt;br /&gt;
#			   Set ipmp mode = l, and specify one logical &lt;br /&gt;
#			   hostname/ip address pair.&lt;br /&gt;
#			active-active with outbound load spreading:&lt;br /&gt;
#			   Set ipmp mode = l, specify a second logical &lt;br /&gt;
#			   hostname/ip address pair for the second interface.&lt;br /&gt;
#&lt;br /&gt;
# ipmp_networkif_&amp;lt;if&amp;gt;_&amp;lt;if&amp;gt;: &amp;quot;netgroup mode test1 test2 mask hostname log-ip hostname2 log-ip2&amp;quot;&lt;br /&gt;
#&lt;br /&gt;
#			details of the interfaces in the ipmp group&lt;br /&gt;
#			e.g. networkif_ipmp_qfe0_qfe4&lt;br /&gt;
#&lt;br /&gt;
#&lt;br /&gt;
#			netgroup:	ipmp interface group name&lt;br /&gt;
#					e.g. database-net&lt;br /&gt;
#&lt;br /&gt;
#			ipmp mode:	s = standby (failover only)&lt;br /&gt;
#&lt;br /&gt;
#					  ** test addresses are allocated last,&lt;br /&gt;
#					  ** first test address will be on the&lt;br /&gt;
#					  ** first virtual interface of the&lt;br /&gt;
#					  ** first physical adapter. Second&lt;br /&gt;
#					  ** test address will be on the second&lt;br /&gt;
#					  ** physical adapter.&lt;br /&gt;
#&lt;br /&gt;
#					l = load spreading / active-active&lt;br /&gt;
#					&lt;br /&gt;
#					  ** test addresses are allocated on&lt;br /&gt;
#					  ** first virtual interfaces on both&lt;br /&gt;
#					  ** the first and second physical&lt;br /&gt;
#					  ** adapters.&lt;br /&gt;
#&lt;br /&gt;
#				To force the test addresses onto the physical&lt;br /&gt;
#				adapters, use the suffix 'p' to the above&lt;br /&gt;
#				modes, i.e. 'sp' or 'lp'. This is not&lt;br /&gt;
#				recommended and may break certain applications.&lt;br /&gt;
#&lt;br /&gt;
#			test1:		ipmp test address1&lt;br /&gt;
#			test2:		ipmp test address2&lt;br /&gt;
#&lt;br /&gt;
#				N.B. these addresses must not be used or&lt;br /&gt;
#					placed in the hosts file&lt;br /&gt;
#&lt;br /&gt;
#			mask:		netmask for ipmp pair&lt;br /&gt;
#			&lt;br /&gt;
#			hostname:	unique hostname for logical ip&lt;br /&gt;
#&lt;br /&gt;
#			log-ip:		logical ip address for first i/f of pair&lt;br /&gt;
#&lt;br /&gt;
#		N.B. The following two parameters are for active-active&lt;br /&gt;
#		     configurations only. Do not specify them for an&lt;br /&gt;
#		     active-standby configuration.&lt;br /&gt;
#&lt;br /&gt;
#			hostname2:	unique hostname for logical ip&lt;br /&gt;
#&lt;br /&gt;
#			log-ip2:	logical ip address for second i/f &lt;br /&gt;
#					of pair&lt;br /&gt;
# IPMP on Solaris 10.&lt;br /&gt;
# If you are running Solaris 10, you can optionally configure the&lt;br /&gt;
# system to have NO test addresses. In this case, the ipmp mode should be set&lt;br /&gt;
# to &amp;quot;ln&amp;quot; or &amp;quot;sn&amp;quot; depending on whether you want outbound load spreading or&lt;br /&gt;
# not and the 2 test addresses do not need to be privided.&lt;br /&gt;
#&lt;br /&gt;
# Examples:&lt;br /&gt;
# --------&lt;br /&gt;
#&lt;br /&gt;
#&lt;br /&gt;
# base_config_ipmp_networkifs=&amp;quot;qfe0_qfe1&amp;quot;&lt;br /&gt;
# Outbound load spreading 2 hostnames, test on virtual interfaces.&lt;br /&gt;
# base_config_ipmp_networkif_qfe0_qfe1=&amp;quot;db l 10.0.0.1 10.0.0.2 24 oracle-db 10.0.0.3 apache 10.0.0.4&amp;quot;&lt;br /&gt;
# Outbound load spreading 1 hostname, test on physical interfaces.&lt;br /&gt;
# base_config_ipmp_networkif_qfe0_qfe1=&amp;quot;db lp 10.0.0.1 10.0.0.2 24 oracle-db 10.0.0.3&amp;quot;&lt;br /&gt;
# Failover, 1 hostname, test on physical interfaces.&lt;br /&gt;
# base_config_ipmp_networkif_qfe0_qfe1=&amp;quot;db sp 10.0.0.1 10.0.0.2 24 oracle-db 10.0.0.3&amp;quot;&lt;br /&gt;
# Failover, 1 hostname, no test addresses (Sol 10 only).&lt;br /&gt;
# base_config_ipmp_networkif_qfe0_qfe1=&amp;quot;db sn 24 oracle-db 10.0.0.3&amp;quot;&lt;br /&gt;
#&lt;br /&gt;
#&lt;br /&gt;
base_config_ipmp_networkifs=&amp;quot;&amp;quot;&lt;br /&gt;
base_config_ipmp_networkif_qfe0_qfe1=&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
############&lt;br /&gt;
#&lt;br /&gt;
# Misc options&lt;br /&gt;
#&lt;br /&gt;
# this section is a catchall for other options not included above&lt;br /&gt;
#&lt;br /&gt;
# update_terminal:	if set, put the sysidcfg terminal type into inittab &lt;br /&gt;
#&lt;br /&gt;
# enable_savecore:	if set to any value, enable save core (Solaris 2.6 only)&lt;br /&gt;
#&lt;br /&gt;
# dumpadm_minfree:	set a limit so that crash dumps don't fill up the&lt;br /&gt;
#			dump filesystem. See dumpadm(1M) -m option for&lt;br /&gt;
#			possible values.&lt;br /&gt;
#&lt;br /&gt;
# noautoshutdown:	if set to any value, disable power management&lt;br /&gt;
#&lt;br /&gt;
# enable_rootlogin:	if set to any value, enable network root login&lt;br /&gt;
#			from both telnet/rsh and ssh&lt;br /&gt;
#&lt;br /&gt;
# enable_rootftp:	if set to any value, enable root ftp access&lt;br /&gt;
#&lt;br /&gt;
# shutup_sendmail:	if set, create an alias hostname. to shut up sendmail&lt;br /&gt;
#&lt;br /&gt;
# poweroff_afterbuild:	if set, shut the machine down once it has been built&lt;br /&gt;
#&lt;br /&gt;
# base_config_dedicated_dump_device:&lt;br /&gt;
#			if set, dumpadm will configure the partition as a&lt;br /&gt;
#			Dedicated Dump Device. See dumpadm(1M) for supported&lt;br /&gt;
#			Operating Environments.&lt;br /&gt;
#			(Device path e.g. /dev/dsk/c?t?d?s?)&lt;br /&gt;
#&lt;br /&gt;
#	N.B. This partition is for the SOLE use of the crashdump utility !&lt;br /&gt;
#&lt;br /&gt;
# enable_altbreak:	if set, enable alternate break sequence&lt;br /&gt;
#&lt;br /&gt;
# disable_sysid_probe:	if set, skip the sysid stuff on the first reboot; this&lt;br /&gt;
#			usually just tries to rarp ip addresses for additional&lt;br /&gt;
#			interfaces and takes *ages* on machines with lots&lt;br /&gt;
#			of unused network adapters. &lt;br /&gt;
#			&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
base_config_update_terminal=&amp;quot;yes&amp;quot;&lt;br /&gt;
base_config_enable_savecore=&amp;quot;yes&amp;quot;&lt;br /&gt;
base_config_dumpadm_minfree=&amp;quot;20000k&amp;quot;&lt;br /&gt;
base_config_noautoshutdown=&amp;quot;pm_disabled&amp;quot;&lt;br /&gt;
base_config_enable_rootlogin=&amp;quot;&amp;quot;&lt;br /&gt;
base_config_enable_rootftp=&amp;quot;&amp;quot;&lt;br /&gt;
base_config_shutup_sendmail=&amp;quot;&amp;quot;&lt;br /&gt;
base_config_poweroff_afterbuild=&amp;quot;&amp;quot;&lt;br /&gt;
base_config_dedicated_dump_device=&amp;quot;&amp;quot;&lt;br /&gt;
base_config_enable_altbreak=&amp;quot;&amp;quot;&lt;br /&gt;
base_config_disable_sysid_probe=&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
############&lt;br /&gt;
#&lt;br /&gt;
# NFSv4&lt;br /&gt;
#&lt;br /&gt;
# Set up the NFSv4 domain to prevent being prompted at first reboot.&lt;br /&gt;
# If not set, this will default to the entry in base_config_dns_domain,&lt;br /&gt;
# and if that is not set, to the value 'domain', which is the default&lt;br /&gt;
# in /etc/default/nfs&lt;br /&gt;
#&lt;br /&gt;
base_config_nfsv4_domain=&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
############&lt;br /&gt;
#&lt;br /&gt;
# N.B. Unless you need to point this client at alternate media for patches&lt;br /&gt;
#      and packages that is not held on this server, please skip this section!&lt;br /&gt;
#&lt;br /&gt;
# productdir	is where to find the products. This should be a URI style&lt;br /&gt;
#		path, i.e. nfs://192.168.1.1/export/install/pkgs. If the server&lt;br /&gt;
#		is the JumpStart server, then it should just be specified&lt;br /&gt;
#		as a normal path.&lt;br /&gt;
#&lt;br /&gt;
# patchdir	is where to find the patches. Same format as productdir.&lt;br /&gt;
#&lt;br /&gt;
# --------------------------------------------------------------------------&lt;br /&gt;
#  Leaving the following blank means they will be populated using jumpstart.conf&lt;br /&gt;
#  and the JumpStart servers ip address. This is the default behaviour&lt;br /&gt;
#  and should only be changed if your patch/package repository is not held&lt;br /&gt;
#  on this server.&lt;br /&gt;
# --------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
base_config_productdir=&amp;quot;&amp;quot;&lt;br /&gt;
base_config_patchdir=&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# Last one - mainly for developing JumpStart scripts!&lt;br /&gt;
#&lt;br /&gt;
# If you set this, the rc3.d/S99jumpstart script will be disabled&lt;br /&gt;
# (set to rc3.d/s99jumpstart) every time it is processed - this allows you&lt;br /&gt;
# to run it by hand and invoke each reboot step&lt;br /&gt;
# This does not work on Solaris 10.&lt;br /&gt;
#&lt;br /&gt;
base_config_debug_jumpstart_postinstall=&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
###############################################################################&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
@@@Other JET configurations@@@&lt;br /&gt;
&lt;br /&gt;
14.	JET Sparc_DHCP&lt;br /&gt;
&amp;gt; I now want to configure JET for a basic sparc DHCP and&lt;br /&gt;
&amp;gt; bootp build.&lt;br /&gt;
&amp;gt; &lt;br /&gt;
&amp;gt; For Sparc DHCP do I just need to make the following&lt;br /&gt;
&amp;gt; changes…&lt;br /&gt;
&amp;gt; &lt;br /&gt;
&amp;gt; Create a template with the&lt;br /&gt;
&amp;gt; base_config_client_allocation equal &amp;quot;dhcp&amp;quot;&lt;br /&gt;
&amp;gt; &lt;br /&gt;
yep&lt;br /&gt;
&amp;gt; edit /opt/SUNWjet/etc/Jumpstart.conf to add uname –i&lt;br /&gt;
&amp;gt; to JS_DHCP_VENDOR=&amp;quot;SUNW.Ultra-5_10 SUNW.Ultra-30&amp;quot; to&lt;br /&gt;
&amp;gt; reflect my wanting to use SPARC &amp;amp; DHCP.&lt;br /&gt;
&amp;gt; &lt;br /&gt;
yep&lt;br /&gt;
&amp;gt; And I assume make_client will create the appropriate&lt;br /&gt;
&amp;gt; settings in dhcpmgr etc.&lt;br /&gt;
&amp;gt; &lt;br /&gt;
uh huh&lt;br /&gt;
&amp;gt; Anything else ?&lt;br /&gt;
&amp;gt; &lt;br /&gt;
15.	JET Sparc_Bootp&lt;br /&gt;
&lt;br /&gt;
&amp;gt; For Sparc bootp do I just need to create a template&lt;br /&gt;
&amp;gt; with the base_config_client_allocation equal &amp;quot;bootp&amp;quot;&lt;br /&gt;
&amp;gt; &lt;br /&gt;
yep&lt;br /&gt;
&lt;br /&gt;
&amp;gt; And I assume make_client will create the appropriate&lt;br /&gt;
&amp;gt; settings in tftpboot etc.&lt;br /&gt;
&amp;gt;&lt;br /&gt;
uh huh&lt;br /&gt;
&lt;br /&gt;
&amp;gt; I will not be able to test this for a week or so, as&lt;br /&gt;
&amp;gt; so far all my testing has been done using Vmware&lt;br /&gt;
&amp;gt; locally on my laptop.&lt;br /&gt;
&lt;br /&gt;
16.	Changing the media location&lt;br /&gt;
&amp;gt; &lt;br /&gt;
&amp;gt; And finally I will in the future want to change my&lt;br /&gt;
&amp;gt; media location from /export/install to&lt;br /&gt;
&amp;gt; /export/jumpstart/s10i &amp;amp; /export/jumpstart/s10sparc&lt;br /&gt;
&amp;gt; etc.&lt;br /&gt;
&amp;gt; &lt;br /&gt;
&amp;gt; I guess I will need to update my “solaris locations”&lt;br /&gt;
&amp;gt; will I need to make JS_SOLARIS_DIR=/export/jumpstart&lt;br /&gt;
&amp;gt; in jumpstart.conf ? anything else ?&lt;br /&gt;
&amp;gt; &lt;br /&gt;
Only thing that matters is the solaris media locations. The &lt;br /&gt;
JS_SOLARIS_DIR only affects the location of the media when you use the &lt;br /&gt;
JET copy_solaris_media command, otherwise it is immaterial. In other &lt;br /&gt;
words, once your /opt/SUNWjet/etc/solaris_media_locations file is &lt;br /&gt;
vaild, &lt;br /&gt;
everthing should be hunky dory.&lt;/div&gt;</summary>
		<author><name>Marty</name></author>
	</entry>
	<entry>
		<id>https://jet.maui.co.uk/wiki/index.php?title=JetWalkthrough&amp;diff=1333</id>
		<title>JetWalkthrough</title>
		<link rel="alternate" type="text/html" href="https://jet.maui.co.uk/wiki/index.php?title=JetWalkthrough&amp;diff=1333"/>
		<updated>2006-08-29T12:57:19Z</updated>

		<summary type="html">&lt;p&gt;Marty: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== JET install and Configuration to server DHCP / PXE intel clients ==&lt;br /&gt;
&lt;br /&gt;
 Contributor: Paul Juster&lt;br /&gt;
&lt;br /&gt;
=== Overview of my set up ===&lt;br /&gt;
&lt;br /&gt;
I am using two Intel machines, my JumpStart server is ''sun1'' (192.168.0.250) and my JumpStart client ''vmclient'' needs to end up with a static IP 192.168.0.200 (a flat network). Operating system is Solaris 10 x86.&lt;br /&gt;
&lt;br /&gt;
On the JumpStart server I have already copied the Intel x86 DVD files to my server&lt;br /&gt;
 # /cdrom/cdrom0/Solaris_10/Tools/setup_install_server /export/installx86&lt;br /&gt;
the alternative is to use the jet script to do this (/opt/SUNWjet/bin/copy_solaris_media).&lt;br /&gt;
&lt;br /&gt;
In this example I am using JET 4.3 and I have only displayed lines in files that I changed from the default or that I want to make clear what the setting is.&lt;br /&gt;
&lt;br /&gt;
Do not assume any of the below applied to a SPARC JET client&lt;br /&gt;
&lt;br /&gt;
=== Download and Install the packages SUNWjet &amp;amp; documentation packages ===&lt;br /&gt;
&lt;br /&gt;
Get JET from the Sun download centre (http://www.sun.com/downloads)&lt;br /&gt;
&lt;br /&gt;
 # bunzip2 jet.pkg.bz2&lt;br /&gt;
 # pkgadd -d jet.pkg&lt;br /&gt;
  select Packages 10 &amp;amp; 11&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== JET Folder structure === &lt;br /&gt;
&lt;br /&gt;
I created/used the following folders&lt;br /&gt;
&lt;br /&gt;
 /export/pkgs  (not used but needed)&lt;br /&gt;
 /export/patches (not used but needed)&lt;br /&gt;
 /export/installx86 (Where the media has been copied too)&lt;br /&gt;
&lt;br /&gt;
Note this is a simple configuration be in a larger setup /export/media should be used with sub folders for each media type.&lt;br /&gt;
&lt;br /&gt;
=== JET NFS shares === &lt;br /&gt;
&lt;br /&gt;
The following shares were created to support JET.&lt;br /&gt;
&lt;br /&gt;
(&amp;quot;JET framework&amp;quot; share was automatically created during the package install)&lt;br /&gt;
 # share&lt;br /&gt;
 -               /opt/SUNWjet   ro,anon=0   &amp;quot;JET Framework&amp;quot;&lt;br /&gt;
 -               /export/pkgs   ro,anon=0   &amp;quot;Jumpstart Media&amp;quot;&lt;br /&gt;
 -               /export/installx86   ro,anon=0   &amp;quot;Jumpstart Media&amp;quot;&lt;br /&gt;
 -               /export/patches   ro,anon=0   &amp;quot;Jumpstart Media&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Modify JET configuration ===&lt;br /&gt;
&lt;br /&gt;
I edited /opt/SUNWjet/etc/jumpstart.conf to reflect my JET folder structure.&lt;br /&gt;
&lt;br /&gt;
 # &lt;br /&gt;
 # This config file defines the jumpstart specific variables.&lt;br /&gt;
 #&lt;br /&gt;
 JS_PKG_DIR=/export/pkgs&lt;br /&gt;
 JS_PATCH_DIR=/export/patches&lt;br /&gt;
 JS_SOLARIS_DIR=/export&lt;br /&gt;
&lt;br /&gt;
=== Adding Solaris Location ===&lt;br /&gt;
&lt;br /&gt;
A “Solaris location” is a pointer to a folder containing the solaris installation media that has been copied to the JumpStart/JET server.&lt;br /&gt;
The Solaris media is copied to the JET server in two ways&lt;br /&gt;
&lt;br /&gt;
a. /cdrom/cdrom0/Solaris_10/Tools/setup_install_server&lt;br /&gt;
b. /opt/SUNWjet/bin/copy_solaris_media&lt;br /&gt;
&lt;br /&gt;
a. is the traditional JumpStart method (I used), b. is the JET method.&lt;br /&gt;
&lt;br /&gt;
Once copied a “Solaris location” is needed for JET to reference and use, this is done by running&lt;br /&gt;
&lt;br /&gt;
# /opt/SUNWjet/bin/add_solaris_location 10i /export/installx86&lt;br /&gt;
&lt;br /&gt;
6.	A “template”&lt;br /&gt;
&lt;br /&gt;
A JET template outlines a JET clients configuration/installation and contains the answers to the installation questions that are normally asked (this is a very simplistic view as a lot more can be accomplish with the template).  I created a template called vmclient&lt;br /&gt;
&lt;br /&gt;
# /opt/SUNWjet/bin/make_template vmclient&lt;br /&gt;
&lt;br /&gt;
7.	Customise the template (DHCP/PXE) &lt;br /&gt;
Once the template has been created some basic details needed to be added.&lt;br /&gt;
&lt;br /&gt;
(I made the following changes and ignored all other lines at the moment)&lt;br /&gt;
base_config_ClientArch=i86pc&lt;br /&gt;
base_config_ClientEther=00:0c:29:76:fd:15&lt;br /&gt;
base_config_ClientOS=10i&lt;br /&gt;
base_config_sysidcfg_nameservice=NONE&lt;br /&gt;
base_config_sysidcfg_network_interface=PRIMARY &lt;br /&gt;
base_config_sysidcfg_ip_address=192.168.0.200&lt;br /&gt;
base_config_sysidcfg_netmask=255.255.255.0&lt;br /&gt;
base_config_sysidcfg_root_password=&amp;quot;boajrOmU7GFmY&amp;quot;&lt;br /&gt;
base_config_sysidcfg_system_locale=en_GB.ISO8859-1&lt;br /&gt;
base_config_sysidcfg_timeserver=localhost&lt;br /&gt;
base_config_sysidcfg_timezone=&amp;quot;GB&amp;quot;&lt;br /&gt;
base_config_sysidcfg_terminal=vt100&lt;br /&gt;
base_config_sysidcfg_security_policy=NONE&lt;br /&gt;
base_config_sysidcfg_protocol_ipv6=no&lt;br /&gt;
base_config_sysidcfg_default_route=192.168.0.254&lt;br /&gt;
base_config_client_allocation=&amp;quot;grub&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Its worth noting that intel machine can only be built using JET/Jumpstart by using DHCP and PXE boot methods, in order for this to be configured within JET following line partly configures this.&lt;br /&gt;
&lt;br /&gt;
base_config_client_allocation=&amp;quot;grub&amp;quot;&lt;br /&gt;
&lt;br /&gt;
8.	DHCP server setup&lt;br /&gt;
In order for JET to support an intel DHCP the DHCP server needs some basic details need to be added to /opt/SUNWjet/Products/base_config/solaris/make_dhcp file&lt;br /&gt;
# cat make_dhcp&lt;br /&gt;
################################################################################&lt;br /&gt;
# Synopsis: PXE boot pre-JUMP setups&lt;br /&gt;
#       if DHCP server is not present, then activate it&lt;br /&gt;
#&lt;br /&gt;
# Change the NETWORK details to suit your own&lt;br /&gt;
NETWORK=192.168.0.0&lt;br /&gt;
NETMASK=255.255.255.0&lt;br /&gt;
ROUTER=192.168.0.254&lt;br /&gt;
&lt;br /&gt;
dhcpconfig -D -r SUNWfiles -p /var/tmp&lt;br /&gt;
&lt;br /&gt;
dhcpconfig -N ${NETWORK} -m ${NETMASK} -t ${ROUTER}&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
in order for these changes to be applied to the solaris dhcp server, permissions on the mae_dhcp file need to be changed so the file can be executed.&lt;br /&gt;
&lt;br /&gt;
# ./make_dhcp&lt;br /&gt;
Created DHCP configuration file.&lt;br /&gt;
Created dhcptab.&lt;br /&gt;
Added &amp;quot;Locale&amp;quot; macro to dhcptab.&lt;br /&gt;
Added server macro to dhcptab - sun1.&lt;br /&gt;
DHCP server started.&lt;br /&gt;
Added network macro to dhcptab - 192.168.0.0.&lt;br /&gt;
Created network table.&lt;br /&gt;
&lt;br /&gt;
As you can see this has populated/configured the dhcp server with the basic settings, the client specific settings are added when make_client is run.&lt;br /&gt;
&lt;br /&gt;
9.	Populating JET with a client&lt;br /&gt;
A client can now be added to the JET server using the make_client script. &lt;br /&gt;
&lt;br /&gt;
# /opt/SUNWjet/bin/make_client -f vmclient&lt;br /&gt;
Gathering network information..&lt;br /&gt;
        Client: 192.168.0.200 (192.168.0.0/255.255.255.0)&lt;br /&gt;
        Server: 192.168.0.250 (192.168.0.0/255.255.255.0, SunOS)&lt;br /&gt;
Solaris: client_prevalidate&lt;br /&gt;
         Clean up /etc/ethers&lt;br /&gt;
Solaris: client_build&lt;br /&gt;
Creating sysidcfg&lt;br /&gt;
Creating profile&lt;br /&gt;
Adding base_config specifics to client configuration&lt;br /&gt;
Solaris: Configuring JumpStart boot for vmclient&lt;br /&gt;
         Starting SMF services for JumpStart&lt;br /&gt;
Solaris: Configure PXE/grub build&lt;br /&gt;
         Adding install client&lt;br /&gt;
        Doing a TEXT based install&lt;br /&gt;
         Leaving the graphical device as the primary console&lt;br /&gt;
         Configuring vmclient macro&lt;br /&gt;
         Using local dhcp server&lt;br /&gt;
         PXE/grub configuration complete&lt;br /&gt;
Running '/opt/SUNWjet/bin/check_client  vmclient'&lt;br /&gt;
        Client: 192.168.0.200 (192.168.0.0/255.255.255.0)&lt;br /&gt;
        Server: 192.168.0.250 (192.168.0.0/255.255.255.0, SunOS)&lt;br /&gt;
Checking product base_config/solaris&lt;br /&gt;
Checking Solaris boot image for critical patches (this may take a while..)&lt;br /&gt;
&lt;br /&gt;
WARNING: Patch 119375-03 has not been applied to the boot image.&lt;br /&gt;
                This patch has been critical to the successful&lt;br /&gt;
                installation of the O/S.&lt;br /&gt;
&lt;br /&gt;
                Please apply the patch with the command:&lt;br /&gt;
&lt;br /&gt;
        # patchadd -C /export/installx86/Solaris_10/Tools/Boot 119375-03&lt;br /&gt;
&lt;br /&gt;
--------------------------------------------------------------&lt;br /&gt;
Check of client vmclient&lt;br /&gt;
-&amp;gt; Passed....&lt;br /&gt;
&lt;br /&gt;
The obvious thing from this output is that it passed, but also you can see that a PXE/Grub build took place (which means that this client is an intel client)&lt;br /&gt;
10.	Client boot.&lt;br /&gt;
&lt;br /&gt;
The intelx86 client needs booting off the network, F12 is the normal key at boot time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The intelx86 client gets an ip address&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The grub loader is loaded&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The grub loader load the multi boot image from the /tftpboot directory&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
and hopefully now installation windows/questions will be asked.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Reference files&lt;br /&gt;
&lt;br /&gt;
11.	Jumpstart.Conf&lt;br /&gt;
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&lt;br /&gt;
# This config file defines the jumpstart specific variables. &lt;br /&gt;
#&lt;br /&gt;
# Version:	$Revision: 1.5 $&lt;br /&gt;
# Last Updated;	$Date: 2006/02/04 12:08:58 $&lt;br /&gt;
#&lt;br /&gt;
# Location of the additional media for patches and packages:&lt;br /&gt;
#&lt;br /&gt;
# These paths should be URI form e.g. nfs://&amp;lt;serverip&amp;gt;/&amp;lt;path&amp;gt; or &amp;lt;path&amp;gt;&lt;br /&gt;
# Currently only PKG_DIR and PATCH_DIR can be on a remote NFS server.&lt;br /&gt;
# If they are just &amp;lt;path&amp;gt;, the appropriate address of the JumpStart server&lt;br /&gt;
# will be added.&lt;br /&gt;
#&lt;br /&gt;
# N.B. if the media location is on a different server, please ensure it is&lt;br /&gt;
#      routable from the client !&lt;br /&gt;
#&lt;br /&gt;
JS_Default_Root_PW=boajrOmU7GFmY&lt;br /&gt;
JS_BUILD_DIR=/var/opt/sun/jet&lt;br /&gt;
JS_PKG_DIR=/export/pkgs&lt;br /&gt;
JS_PATCH_DIR=/export/patches&lt;br /&gt;
JS_SOLARIS_DIR=/export&lt;br /&gt;
JS_DHCP_VENDOR=&amp;quot;SUNW.Ultra-5_10 SUNW.Ultra-30&amp;quot;&lt;br /&gt;
#JS_CLIENT_MANAGEMENT=&amp;quot;dhcp bootp&amp;quot;&lt;br /&gt;
JS_CLIENT_MANAGEMENT=&amp;quot;bootp&amp;quot;&lt;br /&gt;
&lt;br /&gt;
12.	make_dhcp&lt;br /&gt;
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&lt;br /&gt;
make_dhcp # This config file defines the dhcp variables. &lt;br /&gt;
#!/usr/bin/ksh&lt;br /&gt;
#&lt;br /&gt;
# Copyright 2005 Sun Microsystems, Inc.  All rights reserved.&lt;br /&gt;
# Use is subject to license terms.&lt;br /&gt;
################################################################################&lt;br /&gt;
#&lt;br /&gt;
# Synopsis: PXE boot pre-JUMP setups&lt;br /&gt;
#	if DHCP server is notpresent, then activate it&lt;br /&gt;
#&lt;br /&gt;
# Change the NETWORk details to suit your own&lt;br /&gt;
NETWORK=192.168.0.0&lt;br /&gt;
NETMASK=255.255.255.0&lt;br /&gt;
ROUTER=192.168.0.254&lt;br /&gt;
&lt;br /&gt;
dhcpconfig -D -r SUNWfiles -p /var/tmp&lt;br /&gt;
&lt;br /&gt;
dhcpconfig -N ${NETWORK} -m ${NETMASK} -t ${ROUTER}&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
13.	template/vmclient&lt;br /&gt;
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&lt;br /&gt;
###############################################################################&lt;br /&gt;
#&lt;br /&gt;
# Client template file&lt;br /&gt;
#&lt;br /&gt;
# Client:	vmclient&lt;br /&gt;
# Created:	Friday May 19 19:26:39 BST 2006&lt;br /&gt;
# &lt;br /&gt;
# This file was automatically generated using 'make_template'&lt;br /&gt;
###############################################################################&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
###############################################################################&lt;br /&gt;
#&lt;br /&gt;
# Product:	base_config&lt;br /&gt;
#&lt;br /&gt;
# Synopsys:	Basic host information&lt;br /&gt;
#&lt;br /&gt;
###############################################################################&lt;br /&gt;
&lt;br /&gt;
############&lt;br /&gt;
#&lt;br /&gt;
# Architecture type:&lt;br /&gt;
#		sun4c		: e.g. SS1, SS2, SS IPX&lt;br /&gt;
#		sun4d		: e.g. SS1000, SS2000&lt;br /&gt;
#		sun4e		: ?&lt;br /&gt;
#		sun4m		: e.g. SS LX, SS4, SS5, SS10, SS20&lt;br /&gt;
#		sun4u		: UltraSparc - U1, U2, E3x00, E4x00 etc&lt;br /&gt;
#		sun4u1		: E10K&lt;br /&gt;
#		sun4v		: T2000&lt;br /&gt;
#&lt;br /&gt;
#		i86pc		: Intel X86&lt;br /&gt;
#&lt;br /&gt;
# Ethernet can be obtained from the 'banner' command at OBP&lt;br /&gt;
#&lt;br /&gt;
# OS is one of the values you used to register the solaris media using&lt;br /&gt;
#    the add_solaris_location command&lt;br /&gt;
#&lt;br /&gt;
base_config_ClientArch=i86pc&lt;br /&gt;
base_config_ClientEther=00:0c:29:76:fd:15&lt;br /&gt;
base_config_ClientOS=10i&lt;br /&gt;
&lt;br /&gt;
############&lt;br /&gt;
#&lt;br /&gt;
# Client allocation&lt;br /&gt;
#&lt;br /&gt;
# The mechanism used to build this client; by default, the options listed&lt;br /&gt;
# in /opt/jet/etc/jumpstart.conf will be tried; you should only set this&lt;br /&gt;
# if this particular client needs to do something different.&lt;br /&gt;
# JET supports bootp, dhcp, and grub as allocation options.&lt;br /&gt;
# Currently grub is only supported on i86pc architectures.&lt;br /&gt;
#&lt;br /&gt;
base_config_client_allocation=&amp;quot;grub&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# If you are using grub, you can set this variable to apply additional&lt;br /&gt;
# grub directives to the menu.lst.&amp;lt;MACADDRESS&amp;gt; file.&lt;br /&gt;
#&lt;br /&gt;
base_config_grub_append=&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
############&lt;br /&gt;
#&lt;br /&gt;
# products	is the set of products to install after base_config; this&lt;br /&gt;
#		should be updated automatically by make_template, so you&lt;br /&gt;
#		will only need to change it, if you wish to omit certain&lt;br /&gt;
#		modules when testing/debugging.&lt;br /&gt;
#&lt;br /&gt;
base_config_products=&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
############&lt;br /&gt;
#&lt;br /&gt;
# JumpStart sysidcfg information&lt;br /&gt;
#&lt;br /&gt;
# The sysidcfg file provides information at initial boot time so that the&lt;br /&gt;
# system can properly identify itself. The interface and ip address defined &lt;br /&gt;
# here MUST be on the same subnet as the JumpStart server. The root password &lt;br /&gt;
# is set here also and must be written in encrypted format. The default value&lt;br /&gt;
# shown here is &amp;quot;newroot&amp;quot;. The timeserver is normally the IP address of the&lt;br /&gt;
# JumpStart server.&lt;br /&gt;
#&lt;br /&gt;
# nameservice examples:&lt;br /&gt;
#			NONE&lt;br /&gt;
#			NIS { domain_name=uk.sun.com name_server=nis.uk.sun.com(129.159.91.1) }&lt;br /&gt;
#		or for DNS&lt;br /&gt;
#			DNS { domain_name=uk.sun.com name_server=192.168.1.1 search=uk.sun.com }&lt;br /&gt;
#&lt;br /&gt;
# network_interface:&lt;br /&gt;
#			le0, hme0&lt;br /&gt;
#			or PRIMARY (the default interface - net in OBP)&lt;br /&gt;
#			N.B. PRIMARY is only valid from Solaris 7 upwards&lt;br /&gt;
#&lt;br /&gt;
# locale:&lt;br /&gt;
#			en_UK	for Solaris 2.6&lt;br /&gt;
#			en_GB	for Solaris 7 and above&lt;br /&gt;
#&lt;br /&gt;
# timeserver:		Where the client gets the current time from.&lt;br /&gt;
#			Leave blank to default the the JumpStart server&lt;br /&gt;
#&lt;br /&gt;
#			Alternatively, set to 'localhost' to trust the current&lt;br /&gt;
#			hardware clock on the client&lt;br /&gt;
#&lt;br /&gt;
# terminal:		terminal type (vt100/vt220/sun etc)&lt;br /&gt;
#&lt;br /&gt;
# security_policy:	Kerberos policy (Solaris 8 +)&lt;br /&gt;
#&lt;br /&gt;
# protocol_ipv6:	Use ipv6 or not (Solaris 8 +)&lt;br /&gt;
#&lt;br /&gt;
# default_route:	Solaris 9 allows a default route to be set&lt;br /&gt;
#			(ignored on all other versions of Solaris, less than 9)&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
base_config_sysidcfg_nameservice=NONE&lt;br /&gt;
base_config_sysidcfg_network_interface=PRIMARY &lt;br /&gt;
base_config_sysidcfg_ip_address=192.168.0.200&lt;br /&gt;
base_config_sysidcfg_netmask=255.255.255.0&lt;br /&gt;
base_config_sysidcfg_root_password=&amp;quot;boajrOmU7GFmY&amp;quot;&lt;br /&gt;
base_config_sysidcfg_system_locale=en_GB.ISO8859-1&lt;br /&gt;
base_config_sysidcfg_timeserver=localhost&lt;br /&gt;
base_config_sysidcfg_timezone=&amp;quot;GB&amp;quot;&lt;br /&gt;
base_config_sysidcfg_terminal=vt100&lt;br /&gt;
base_config_sysidcfg_security_policy=NONE&lt;br /&gt;
base_config_sysidcfg_protocol_ipv6=no&lt;br /&gt;
base_config_sysidcfg_default_route=192.168.0.254&lt;br /&gt;
&lt;br /&gt;
########################################&lt;br /&gt;
# X86, X64 specific settings. If this is an x86 client, then you may need&lt;br /&gt;
# to configure these settings. They are ignored for SPARC builds.&lt;br /&gt;
#&lt;br /&gt;
# base_config_x86_nowin:&lt;br /&gt;
# This stops Solaris from trying to run windows during the install.&lt;br /&gt;
# the default value is yes.&lt;br /&gt;
#&lt;br /&gt;
# base_config_x86_console:&lt;br /&gt;
# Set the console to the correct tty port. This is used for doing installs&lt;br /&gt;
# via the serial port or the SP. b1600,v20z and v40z use ttya. lx50, v60x,&lt;br /&gt;
# and v65x use ttyb. NOTE: you only need to set this if you are NOT going &lt;br /&gt;
# to connect a keyboard and monitor to the client.&lt;br /&gt;
#&lt;br /&gt;
# base_config_x86_disable_acpi:&lt;br /&gt;
# Disable ACPI - sometimes disabling ACPI makes the install go&lt;br /&gt;
# better due to how the interrupts are handled. Non-Null disables ACPI.&lt;br /&gt;
#&lt;br /&gt;
# base_config_x86_safetoreboot:&lt;br /&gt;
# The Solaris installer can't control the BIOS, therefore does not&lt;br /&gt;
# know if its safe to reboot the client as it may simply jumpstart&lt;br /&gt;
# again. If your PXE boot is a one time option, and the next reboot&lt;br /&gt;
# will attempt to boot from disk, then you probably want to set this&lt;br /&gt;
# option to &amp;quot;yes&amp;quot;. Otherwise, leave it as it is so that it won't reboot&lt;br /&gt;
# and therefore allow you to manually change your BIOS to boot from disk.&lt;br /&gt;
#&lt;br /&gt;
# base_config_x86_disable_kdmconfig:&lt;br /&gt;
# X86 systems sometimes go interactive on the first reboot (Bug 6321043)&lt;br /&gt;
# on Solaris 10 Update 1. Setting this parameter will stop this from&lt;br /&gt;
# happenning.&lt;br /&gt;
# &lt;br /&gt;
# base_config_x86_confflags&lt;br /&gt;
# The parameters specified for this variable are passed directly to &lt;br /&gt;
# add_install_client -b confflags= option.  &lt;br /&gt;
# For e.g., by specifying,&lt;br /&gt;
# base_config_x86_confflags=&amp;quot;-f -P/boot/solaris/dca&amp;quot;&lt;br /&gt;
# &lt;br /&gt;
# add_install_client is called with -b confflag=&amp;quot;-f -P /boot/solaris/dca&amp;quot;&lt;br /&gt;
# option.&lt;br /&gt;
#&lt;br /&gt;
# base_config_sysidcfg_x86_kdmfile&lt;br /&gt;
# Append the file specified here to sysidcfg file.&lt;br /&gt;
# This variable can reference a file relative to the &lt;br /&gt;
# Clients/&amp;lt;clientname&amp;gt; directory or a absolute path. &lt;br /&gt;
#&lt;br /&gt;
#&lt;br /&gt;
base_config_x86_nowin=&amp;quot;yes&amp;quot;&lt;br /&gt;
base_config_x86_console=&amp;quot;&amp;quot;&lt;br /&gt;
base_config_x86_disable_acpi=&amp;quot;&amp;quot;&lt;br /&gt;
base_config_x86_safetoreboot=&amp;quot;&amp;quot;&lt;br /&gt;
base_config_x86_disable_kdmconfig=&amp;quot;&amp;quot;&lt;br /&gt;
base_config_x86_confflags=&amp;quot;&amp;quot;&lt;br /&gt;
base_config_sysidcfg_x86_kdmfile=&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
#&lt;br /&gt;
#&lt;br /&gt;
#&lt;br /&gt;
#######&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# &lt;br /&gt;
# Want to create your own custom profile ? if so, use this variable to&lt;br /&gt;
# reference a file relative to the Clients/&amp;lt;clientname&amp;gt; directory or &lt;br /&gt;
# absolute path, otherwise fill in the other details below to get toolkit &lt;br /&gt;
# to create one for you.&lt;br /&gt;
#&lt;br /&gt;
# If absolute path is specified, then the profile file is copied &lt;br /&gt;
# to Clients/&amp;lt;clientname&amp;gt; directory.&lt;br /&gt;
#&lt;br /&gt;
base_config_profile=&amp;quot;&amp;quot;&lt;br /&gt;
#&lt;br /&gt;
#######&lt;br /&gt;
# OR fill out the base_config_profile variables below.&lt;br /&gt;
############&lt;br /&gt;
#&lt;br /&gt;
# JumpStart profile information&lt;br /&gt;
#&lt;br /&gt;
#&lt;br /&gt;
# A limited profile can be automatically generated here. If further &lt;br /&gt;
# customisation is required, then you can manually create a profile in the&lt;br /&gt;
# client directory and reference it in the base_config_profile variable.&lt;br /&gt;
#&lt;br /&gt;
# Cluster:&lt;br /&gt;
#	SUNWCrnet		: Minimal. Solaris 10 only&lt;br /&gt;
#	SUNWCreq		: Required - really basic, good for testing&lt;br /&gt;
#	SUNWCuser		: User collection&lt;br /&gt;
#	SUNWCprog		: User + Developers collection&lt;br /&gt;
#	SUNWCall		: All packages&lt;br /&gt;
#	SUNWCXall		: All + OEM packages	(mandatory for E10K)&lt;br /&gt;
#&lt;br /&gt;
# usedisk:	defines the disk that the OS will be loaded on to - bootdisk&lt;br /&gt;
#		(if this is set to rootdisk. , then the current boot disk will&lt;br /&gt;
#		 be used)&lt;br /&gt;
#&lt;br /&gt;
# dontuse:	defines disks that should not be used..&lt;br /&gt;
#		** N.B. This will only be used if 'usedisk' is NOT set&lt;br /&gt;
#		Space seperated list of disks of the form c?t?d?&lt;br /&gt;
#&lt;br /&gt;
# partition sizes:&lt;br /&gt;
#&lt;br /&gt;
# 	if partitions are not required simply leave blank. In order to maintain &lt;br /&gt;
# 	consistency the partitions will always use the same slice number:&lt;br /&gt;
#&lt;br /&gt;
#		/	s0&lt;br /&gt;
#		swap	s1&lt;br /&gt;
#&lt;br /&gt;
# 	We've prepopulated the remaining slices based on Sun defaults,&lt;br /&gt;
#	but you can change this.&lt;br /&gt;
#		/var	s5&lt;br /&gt;
#		/usr	s6&lt;br /&gt;
#		/opt	s7&lt;br /&gt;
#&lt;br /&gt;
#	at most one partition can have the size 'free' which denotes all the&lt;br /&gt;
#	unallocated/spare space on a disk.&lt;br /&gt;
#&lt;br /&gt;
base_config_profile_cluster=SUNWCXall&lt;br /&gt;
base_config_profile_usedisk=rootdisk.&lt;br /&gt;
&lt;br /&gt;
base_config_profile_dontuse=&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
base_config_profile_root=free &lt;br /&gt;
base_config_profile_swap=256&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# If you are using VxVM and want your boot disk to look like the mirror, then&lt;br /&gt;
# leave slices 3 and 4 empty. If you do not care about keeping the two disks&lt;br /&gt;
# looking cosmetically the same, please just make sure you have two free slices&lt;br /&gt;
# somewhere on the disk for VxVM!&lt;br /&gt;
#&lt;br /&gt;
# If you are not using VxVM, then you can use s3 and s4 for whatever you wish!&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
base_config_profile_s3_mtpt=&amp;quot;&amp;quot;&lt;br /&gt;
base_config_profile_s3_size=&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
base_config_profile_s4_mtpt=&amp;quot;&amp;quot;&lt;br /&gt;
base_config_profile_s4_size=&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
base_config_profile_s5_mtpt=&amp;quot;/var&amp;quot;&lt;br /&gt;
base_config_profile_s5_size=&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
base_config_profile_s6_mtpt=&amp;quot;/usr&amp;quot;&lt;br /&gt;
base_config_profile_s6_size=&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# If you are using DiskSuite, the default behaviour is to use slice 7 as a&lt;br /&gt;
# location for metastate databases. If you are using DiskSuites default config,&lt;br /&gt;
# please avoid using s7 for data!&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
base_config_profile_s7_mtpt=&amp;quot;/opt&amp;quot;&lt;br /&gt;
base_config_profile_s7_size=&amp;quot;&amp;quot;&lt;br /&gt;
#&lt;br /&gt;
############&lt;br /&gt;
&lt;br /&gt;
############&lt;br /&gt;
#&lt;br /&gt;
# You can specify additional disks to use/configure here&lt;br /&gt;
#&lt;br /&gt;
# additional_disks is a space separated list of c?t?d? type disk names&lt;br /&gt;
#&lt;br /&gt;
# For each disk listed in additional_disks, a pair of variables of the form&lt;br /&gt;
#&lt;br /&gt;
#	base_config_profile_disk_c?t?d?s?_mtpt=&amp;quot;....&amp;quot;&lt;br /&gt;
#	base_config_profile_disk_c?t?d?s?_size=&amp;quot;....&amp;quot;&lt;br /&gt;
#&lt;br /&gt;
# should be defined for each slice required on the disk.&lt;br /&gt;
#&lt;br /&gt;
# N.B. DO NOT SET THE BOOT DISK UP HERE !&lt;br /&gt;
#&lt;br /&gt;
base_config_profile_additional_disks=&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
############&lt;br /&gt;
#&lt;br /&gt;
# Additional locales/geos e.g. N_Europe, C_Europe&lt;br /&gt;
#&lt;br /&gt;
#&lt;br /&gt;
base_config_profile_add_locales=&amp;quot;&amp;quot;&lt;br /&gt;
base_config_profile_del_locales=&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
base_config_profile_add_geos=&amp;quot;&amp;quot;&lt;br /&gt;
base_config_profile_del_geos=&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
############&lt;br /&gt;
#&lt;br /&gt;
# UFS Logging&lt;br /&gt;
#&lt;br /&gt;
# Solaris 7 and above support UFS+, which allows for a logging filesystem&lt;br /&gt;
# under UFS. If you want to use this feature on any of the UFS mount points,&lt;br /&gt;
# please specify the mount points here, as a space seperated list, or enter&lt;br /&gt;
# the keyword &amp;quot;all&amp;quot; to enable logging on all UFS filesystems.&lt;br /&gt;
#&lt;br /&gt;
# Solaris 9 09/04 enables logging by default. You can also specify mountpoints&lt;br /&gt;
# preceded by a - sign to say that you DON'T want logging enabled on that&lt;br /&gt;
# filesystem, or you can use the keyword &amp;quot;none&amp;quot; to say you don't want any &lt;br /&gt;
# ufs logging turned on at all.&lt;br /&gt;
#&lt;br /&gt;
# N.B. root (/) can be included in the list, and is included by default if&lt;br /&gt;
#      using either the &amp;quot;all&amp;quot; or &amp;quot;none&amp;quot; keyword.&lt;br /&gt;
#      &lt;br /&gt;
#      Finally, you can't mix keywords and mountpoints. i.e. &amp;quot;all -/&amp;quot; is NOT &lt;br /&gt;
#      valid.&lt;br /&gt;
# e.g. base_config_ufs_logging_filesys=&amp;quot;all&amp;quot;  		: log all filesystems&lt;br /&gt;
#      base_config_ufs_logging_filesys=&amp;quot;none&amp;quot; 		: log no filesystems&lt;br /&gt;
#      base_config_ufs_logging_filesys=&amp;quot;-/ /var -/usr&amp;quot;  : log /var, but not / and /usr.&lt;br /&gt;
#&lt;br /&gt;
base_config_ufs_logging_filesys=&amp;quot;all&amp;quot;&lt;br /&gt;
&lt;br /&gt;
############&lt;br /&gt;
#&lt;br /&gt;
# Packages to add to/remove from the selected cluster&lt;br /&gt;
#&lt;br /&gt;
# Use this to populate the profile with package &amp;lt;pkg&amp;gt; &amp;lt;add|delete&amp;gt; entries&lt;br /&gt;
#&lt;br /&gt;
base_config_profile_add_packages=&amp;quot;&amp;quot;&lt;br /&gt;
base_config_profile_del_packages=&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
############&lt;br /&gt;
#&lt;br /&gt;
# Clusters to add to/remove &lt;br /&gt;
#&lt;br /&gt;
# Use this to populate the profile with cluster &amp;lt;cluster&amp;gt; &amp;lt;add|delete&amp;gt; entries&lt;br /&gt;
#&lt;br /&gt;
base_config_profile_add_clusters=&amp;quot;&amp;quot;&lt;br /&gt;
base_config_profile_del_clusters=&amp;quot;SUNWCpm SUNWCpmx SUNWCdial SUNWCdialx&amp;quot;&lt;br /&gt;
&lt;br /&gt;
############&lt;br /&gt;
#&lt;br /&gt;
# Remote file systems (NFS)&lt;br /&gt;
#&lt;br /&gt;
# Specify these as space seperated list of pairs as follows, using ? as&lt;br /&gt;
# the seperator (as : has special meanings with nfs!)&lt;br /&gt;
#&lt;br /&gt;
# e.g. to mount 1.1.1.1:/fs on /fs you would create the entry&lt;br /&gt;
#      base_config_nfs_mounts=&amp;quot;fs?1.1.1.1:/fs&amp;quot;&lt;br /&gt;
#&lt;br /&gt;
base_config_nfs_mounts=&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
############&lt;br /&gt;
#&lt;br /&gt;
# Host information&lt;br /&gt;
#&lt;br /&gt;
# This section defines most things network related etc.&lt;br /&gt;
#&lt;br /&gt;
# In addtion, if the machine will be JumpStarted as one name/address and&lt;br /&gt;
# needs to have a different name/address once installed, this is where you&lt;br /&gt;
# can set that information.&lt;br /&gt;
#&lt;br /&gt;
# nodename:		the value for /etc/nodename if it's not the default&lt;br /&gt;
#			hostname&lt;br /&gt;
#&lt;br /&gt;
# defaultrouter:	the value for /etc/defaultrouter.&lt;br /&gt;
#&lt;br /&gt;
# notrouter:		if this is set, the file /etc/notrouter will be created&lt;br /&gt;
#&lt;br /&gt;
# dns_domain:		domain entry for /etc/resolv.conf&lt;br /&gt;
#&lt;br /&gt;
# dns_nameservers:	nameserver entries for /etc/resolv.conf&lt;br /&gt;
#			(list of ip addresses, space separated)&lt;br /&gt;
#&lt;br /&gt;
# dns_searchpath:	list of entries to go in the search line&lt;br /&gt;
#&lt;br /&gt;
# dns_disableforbuild:	If there is no DNS available in the build&lt;br /&gt;
#                       environment, set this to delay the configuration&lt;br /&gt;
#			of DNS until later on.&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
base_config_nodename=&amp;quot;&amp;quot;&lt;br /&gt;
base_config_defaultrouter=&amp;quot;&amp;quot;&lt;br /&gt;
base_config_notrouter=&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
base_config_dns_domain=&amp;quot;&amp;quot;&lt;br /&gt;
base_config_dns_nameservers=&amp;quot;&amp;quot;&lt;br /&gt;
base_config_dns_searchpath=&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
base_config_dns_disableforbuild=&amp;quot;yes&amp;quot;&lt;br /&gt;
&lt;br /&gt;
###########&lt;br /&gt;
#&lt;br /&gt;
# NTP configuration&lt;br /&gt;
#&lt;br /&gt;
# Specify a list of names or ip addresses for the NTP servers. The first&lt;br /&gt;
# one will be given a 'prefer' tag. This section will only place lines&lt;br /&gt;
# of the form: server &amp;lt;ipaddress/name&amp;gt; [prefer]&lt;br /&gt;
# into the /etc/inet/ntp.conf file. If you require more control of ntp,&lt;br /&gt;
# please use the custom module to deploy your own custom ntp.conf file.&lt;br /&gt;
#&lt;br /&gt;
# N.B. If you do use names, they must be resolvable in your name service.&lt;br /&gt;
#&lt;br /&gt;
base_config_ntp_servers=&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
############&lt;br /&gt;
#&lt;br /&gt;
# Network Interface information&lt;br /&gt;
#&lt;br /&gt;
#&lt;br /&gt;
# networkifs:		a list of interfaces to be defined,&lt;br /&gt;
#			space seperated &amp;quot;le0 hme0&amp;quot;.&lt;br /&gt;
#			N.B. the sysidcfg interface will already be configured&lt;br /&gt;
#			&lt;br /&gt;
#			Logical interfaces should be defined using _'s rather&lt;br /&gt;
#			than :'s.&lt;br /&gt;
#&lt;br /&gt;
# networkif_&amp;lt;ifname&amp;gt;:	the details of the interface &amp;lt;if&amp;gt;&lt;br /&gt;
#			&amp;quot;netname netmask hostname address&amp;quot;&lt;br /&gt;
#&lt;br /&gt;
#			netname:	arbritrary name for /etc/networks&lt;br /&gt;
#			netmask:	netmask of this if (e.g. 255.255.255.0)&lt;br /&gt;
#			hostname:	unique hostname (N.B. not multihomed)&lt;br /&gt;
#			address:	IP address of this interface&lt;br /&gt;
#&lt;br /&gt;
# For example:&lt;br /&gt;
#&lt;br /&gt;
#	base_config_networkifs=&amp;quot;ge0 ge0_1&amp;quot;&lt;br /&gt;
#	base_config_networkif_ge0=&amp;quot;bkp 255.255.255.0 me-bkp 192.168.1.0&amp;quot;&lt;br /&gt;
#	base_config_networkif_ge0_1=&amp;quot;bkp2 255.255.255.0 me-bkp2 192.168.2.0&amp;quot;&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
base_config_networkifs=&amp;quot;&amp;quot;&lt;br /&gt;
base_config_networkif_le0=&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# N.B. Logical interfaces MUST use _ rather than : as illustrated below&lt;br /&gt;
base_config_networkif_le0_1=&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
############&lt;br /&gt;
#&lt;br /&gt;
# IP Multipathing (Solaris 8+)&lt;br /&gt;
#&lt;br /&gt;
# 	IPMP default mode is automatic failback.&lt;br /&gt;
#	To change this mode edit /etc/default/mpathd&lt;br /&gt;
#&lt;br /&gt;
# ipmp_networkifs:	a list of interfaces to be defined under ipmp control&lt;br /&gt;
#			a space separated list of pairs only&lt;br /&gt;
#			e.g. &amp;quot;qfe0_qfe4 qfe1_qfe5&amp;quot;&lt;br /&gt;
#&lt;br /&gt;
#		N.B. If the primary interface is used in an ipmp group, the &lt;br /&gt;
#		     system must be rebooted manually after installation to &lt;br /&gt;
#		     activate ipmp.&lt;br /&gt;
#&lt;br /&gt;
#		N.B. Can only setup ipmp group with pairs of interfaces in one&lt;br /&gt;
#		     of the following configurations:&lt;br /&gt;
#			active-standby failover:&lt;br /&gt;
#			   Set ipmp mode = s, and specify one logical &lt;br /&gt;
#			   hostname/ip address pair.&lt;br /&gt;
#			failover with outbound load spreading:&lt;br /&gt;
#			   Set ipmp mode = l, and specify one logical &lt;br /&gt;
#			   hostname/ip address pair.&lt;br /&gt;
#			active-active with outbound load spreading:&lt;br /&gt;
#			   Set ipmp mode = l, specify a second logical &lt;br /&gt;
#			   hostname/ip address pair for the second interface.&lt;br /&gt;
#&lt;br /&gt;
# ipmp_networkif_&amp;lt;if&amp;gt;_&amp;lt;if&amp;gt;: &amp;quot;netgroup mode test1 test2 mask hostname log-ip hostname2 log-ip2&amp;quot;&lt;br /&gt;
#&lt;br /&gt;
#			details of the interfaces in the ipmp group&lt;br /&gt;
#			e.g. networkif_ipmp_qfe0_qfe4&lt;br /&gt;
#&lt;br /&gt;
#&lt;br /&gt;
#			netgroup:	ipmp interface group name&lt;br /&gt;
#					e.g. database-net&lt;br /&gt;
#&lt;br /&gt;
#			ipmp mode:	s = standby (failover only)&lt;br /&gt;
#&lt;br /&gt;
#					  ** test addresses are allocated last,&lt;br /&gt;
#					  ** first test address will be on the&lt;br /&gt;
#					  ** first virtual interface of the&lt;br /&gt;
#					  ** first physical adapter. Second&lt;br /&gt;
#					  ** test address will be on the second&lt;br /&gt;
#					  ** physical adapter.&lt;br /&gt;
#&lt;br /&gt;
#					l = load spreading / active-active&lt;br /&gt;
#					&lt;br /&gt;
#					  ** test addresses are allocated on&lt;br /&gt;
#					  ** first virtual interfaces on both&lt;br /&gt;
#					  ** the first and second physical&lt;br /&gt;
#					  ** adapters.&lt;br /&gt;
#&lt;br /&gt;
#				To force the test addresses onto the physical&lt;br /&gt;
#				adapters, use the suffix 'p' to the above&lt;br /&gt;
#				modes, i.e. 'sp' or 'lp'. This is not&lt;br /&gt;
#				recommended and may break certain applications.&lt;br /&gt;
#&lt;br /&gt;
#			test1:		ipmp test address1&lt;br /&gt;
#			test2:		ipmp test address2&lt;br /&gt;
#&lt;br /&gt;
#				N.B. these addresses must not be used or&lt;br /&gt;
#					placed in the hosts file&lt;br /&gt;
#&lt;br /&gt;
#			mask:		netmask for ipmp pair&lt;br /&gt;
#			&lt;br /&gt;
#			hostname:	unique hostname for logical ip&lt;br /&gt;
#&lt;br /&gt;
#			log-ip:		logical ip address for first i/f of pair&lt;br /&gt;
#&lt;br /&gt;
#		N.B. The following two parameters are for active-active&lt;br /&gt;
#		     configurations only. Do not specify them for an&lt;br /&gt;
#		     active-standby configuration.&lt;br /&gt;
#&lt;br /&gt;
#			hostname2:	unique hostname for logical ip&lt;br /&gt;
#&lt;br /&gt;
#			log-ip2:	logical ip address for second i/f &lt;br /&gt;
#					of pair&lt;br /&gt;
# IPMP on Solaris 10.&lt;br /&gt;
# If you are running Solaris 10, you can optionally configure the&lt;br /&gt;
# system to have NO test addresses. In this case, the ipmp mode should be set&lt;br /&gt;
# to &amp;quot;ln&amp;quot; or &amp;quot;sn&amp;quot; depending on whether you want outbound load spreading or&lt;br /&gt;
# not and the 2 test addresses do not need to be privided.&lt;br /&gt;
#&lt;br /&gt;
# Examples:&lt;br /&gt;
# --------&lt;br /&gt;
#&lt;br /&gt;
#&lt;br /&gt;
# base_config_ipmp_networkifs=&amp;quot;qfe0_qfe1&amp;quot;&lt;br /&gt;
# Outbound load spreading 2 hostnames, test on virtual interfaces.&lt;br /&gt;
# base_config_ipmp_networkif_qfe0_qfe1=&amp;quot;db l 10.0.0.1 10.0.0.2 24 oracle-db 10.0.0.3 apache 10.0.0.4&amp;quot;&lt;br /&gt;
# Outbound load spreading 1 hostname, test on physical interfaces.&lt;br /&gt;
# base_config_ipmp_networkif_qfe0_qfe1=&amp;quot;db lp 10.0.0.1 10.0.0.2 24 oracle-db 10.0.0.3&amp;quot;&lt;br /&gt;
# Failover, 1 hostname, test on physical interfaces.&lt;br /&gt;
# base_config_ipmp_networkif_qfe0_qfe1=&amp;quot;db sp 10.0.0.1 10.0.0.2 24 oracle-db 10.0.0.3&amp;quot;&lt;br /&gt;
# Failover, 1 hostname, no test addresses (Sol 10 only).&lt;br /&gt;
# base_config_ipmp_networkif_qfe0_qfe1=&amp;quot;db sn 24 oracle-db 10.0.0.3&amp;quot;&lt;br /&gt;
#&lt;br /&gt;
#&lt;br /&gt;
base_config_ipmp_networkifs=&amp;quot;&amp;quot;&lt;br /&gt;
base_config_ipmp_networkif_qfe0_qfe1=&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
############&lt;br /&gt;
#&lt;br /&gt;
# Misc options&lt;br /&gt;
#&lt;br /&gt;
# this section is a catchall for other options not included above&lt;br /&gt;
#&lt;br /&gt;
# update_terminal:	if set, put the sysidcfg terminal type into inittab &lt;br /&gt;
#&lt;br /&gt;
# enable_savecore:	if set to any value, enable save core (Solaris 2.6 only)&lt;br /&gt;
#&lt;br /&gt;
# dumpadm_minfree:	set a limit so that crash dumps don't fill up the&lt;br /&gt;
#			dump filesystem. See dumpadm(1M) -m option for&lt;br /&gt;
#			possible values.&lt;br /&gt;
#&lt;br /&gt;
# noautoshutdown:	if set to any value, disable power management&lt;br /&gt;
#&lt;br /&gt;
# enable_rootlogin:	if set to any value, enable network root login&lt;br /&gt;
#			from both telnet/rsh and ssh&lt;br /&gt;
#&lt;br /&gt;
# enable_rootftp:	if set to any value, enable root ftp access&lt;br /&gt;
#&lt;br /&gt;
# shutup_sendmail:	if set, create an alias hostname. to shut up sendmail&lt;br /&gt;
#&lt;br /&gt;
# poweroff_afterbuild:	if set, shut the machine down once it has been built&lt;br /&gt;
#&lt;br /&gt;
# base_config_dedicated_dump_device:&lt;br /&gt;
#			if set, dumpadm will configure the partition as a&lt;br /&gt;
#			Dedicated Dump Device. See dumpadm(1M) for supported&lt;br /&gt;
#			Operating Environments.&lt;br /&gt;
#			(Device path e.g. /dev/dsk/c?t?d?s?)&lt;br /&gt;
#&lt;br /&gt;
#	N.B. This partition is for the SOLE use of the crashdump utility !&lt;br /&gt;
#&lt;br /&gt;
# enable_altbreak:	if set, enable alternate break sequence&lt;br /&gt;
#&lt;br /&gt;
# disable_sysid_probe:	if set, skip the sysid stuff on the first reboot; this&lt;br /&gt;
#			usually just tries to rarp ip addresses for additional&lt;br /&gt;
#			interfaces and takes *ages* on machines with lots&lt;br /&gt;
#			of unused network adapters. &lt;br /&gt;
#			&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
base_config_update_terminal=&amp;quot;yes&amp;quot;&lt;br /&gt;
base_config_enable_savecore=&amp;quot;yes&amp;quot;&lt;br /&gt;
base_config_dumpadm_minfree=&amp;quot;20000k&amp;quot;&lt;br /&gt;
base_config_noautoshutdown=&amp;quot;pm_disabled&amp;quot;&lt;br /&gt;
base_config_enable_rootlogin=&amp;quot;&amp;quot;&lt;br /&gt;
base_config_enable_rootftp=&amp;quot;&amp;quot;&lt;br /&gt;
base_config_shutup_sendmail=&amp;quot;&amp;quot;&lt;br /&gt;
base_config_poweroff_afterbuild=&amp;quot;&amp;quot;&lt;br /&gt;
base_config_dedicated_dump_device=&amp;quot;&amp;quot;&lt;br /&gt;
base_config_enable_altbreak=&amp;quot;&amp;quot;&lt;br /&gt;
base_config_disable_sysid_probe=&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
############&lt;br /&gt;
#&lt;br /&gt;
# NFSv4&lt;br /&gt;
#&lt;br /&gt;
# Set up the NFSv4 domain to prevent being prompted at first reboot.&lt;br /&gt;
# If not set, this will default to the entry in base_config_dns_domain,&lt;br /&gt;
# and if that is not set, to the value 'domain', which is the default&lt;br /&gt;
# in /etc/default/nfs&lt;br /&gt;
#&lt;br /&gt;
base_config_nfsv4_domain=&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
############&lt;br /&gt;
#&lt;br /&gt;
# N.B. Unless you need to point this client at alternate media for patches&lt;br /&gt;
#      and packages that is not held on this server, please skip this section!&lt;br /&gt;
#&lt;br /&gt;
# productdir	is where to find the products. This should be a URI style&lt;br /&gt;
#		path, i.e. nfs://192.168.1.1/export/install/pkgs. If the server&lt;br /&gt;
#		is the JumpStart server, then it should just be specified&lt;br /&gt;
#		as a normal path.&lt;br /&gt;
#&lt;br /&gt;
# patchdir	is where to find the patches. Same format as productdir.&lt;br /&gt;
#&lt;br /&gt;
# --------------------------------------------------------------------------&lt;br /&gt;
#  Leaving the following blank means they will be populated using jumpstart.conf&lt;br /&gt;
#  and the JumpStart servers ip address. This is the default behaviour&lt;br /&gt;
#  and should only be changed if your patch/package repository is not held&lt;br /&gt;
#  on this server.&lt;br /&gt;
# --------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
base_config_productdir=&amp;quot;&amp;quot;&lt;br /&gt;
base_config_patchdir=&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# Last one - mainly for developing JumpStart scripts!&lt;br /&gt;
#&lt;br /&gt;
# If you set this, the rc3.d/S99jumpstart script will be disabled&lt;br /&gt;
# (set to rc3.d/s99jumpstart) every time it is processed - this allows you&lt;br /&gt;
# to run it by hand and invoke each reboot step&lt;br /&gt;
# This does not work on Solaris 10.&lt;br /&gt;
#&lt;br /&gt;
base_config_debug_jumpstart_postinstall=&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
###############################################################################&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
@@@Other JET configurations@@@&lt;br /&gt;
&lt;br /&gt;
14.	JET Sparc_DHCP&lt;br /&gt;
&amp;gt; I now want to configure JET for a basic sparc DHCP and&lt;br /&gt;
&amp;gt; bootp build.&lt;br /&gt;
&amp;gt; &lt;br /&gt;
&amp;gt; For Sparc DHCP do I just need to make the following&lt;br /&gt;
&amp;gt; changes…&lt;br /&gt;
&amp;gt; &lt;br /&gt;
&amp;gt; Create a template with the&lt;br /&gt;
&amp;gt; base_config_client_allocation equal &amp;quot;dhcp&amp;quot;&lt;br /&gt;
&amp;gt; &lt;br /&gt;
yep&lt;br /&gt;
&amp;gt; edit /opt/SUNWjet/etc/Jumpstart.conf to add uname –i&lt;br /&gt;
&amp;gt; to JS_DHCP_VENDOR=&amp;quot;SUNW.Ultra-5_10 SUNW.Ultra-30&amp;quot; to&lt;br /&gt;
&amp;gt; reflect my wanting to use SPARC &amp;amp; DHCP.&lt;br /&gt;
&amp;gt; &lt;br /&gt;
yep&lt;br /&gt;
&amp;gt; And I assume make_client will create the appropriate&lt;br /&gt;
&amp;gt; settings in dhcpmgr etc.&lt;br /&gt;
&amp;gt; &lt;br /&gt;
uh huh&lt;br /&gt;
&amp;gt; Anything else ?&lt;br /&gt;
&amp;gt; &lt;br /&gt;
15.	JET Sparc_Bootp&lt;br /&gt;
&lt;br /&gt;
&amp;gt; For Sparc bootp do I just need to create a template&lt;br /&gt;
&amp;gt; with the base_config_client_allocation equal &amp;quot;bootp&amp;quot;&lt;br /&gt;
&amp;gt; &lt;br /&gt;
yep&lt;br /&gt;
&lt;br /&gt;
&amp;gt; And I assume make_client will create the appropriate&lt;br /&gt;
&amp;gt; settings in tftpboot etc.&lt;br /&gt;
&amp;gt;&lt;br /&gt;
uh huh&lt;br /&gt;
&lt;br /&gt;
&amp;gt; I will not be able to test this for a week or so, as&lt;br /&gt;
&amp;gt; so far all my testing has been done using Vmware&lt;br /&gt;
&amp;gt; locally on my laptop.&lt;br /&gt;
&lt;br /&gt;
16.	Changing the media location&lt;br /&gt;
&amp;gt; &lt;br /&gt;
&amp;gt; And finally I will in the future want to change my&lt;br /&gt;
&amp;gt; media location from /export/install to&lt;br /&gt;
&amp;gt; /export/jumpstart/s10i &amp;amp; /export/jumpstart/s10sparc&lt;br /&gt;
&amp;gt; etc.&lt;br /&gt;
&amp;gt; &lt;br /&gt;
&amp;gt; I guess I will need to update my “solaris locations”&lt;br /&gt;
&amp;gt; will I need to make JS_SOLARIS_DIR=/export/jumpstart&lt;br /&gt;
&amp;gt; in jumpstart.conf ? anything else ?&lt;br /&gt;
&amp;gt; &lt;br /&gt;
Only thing that matters is the solaris media locations. The &lt;br /&gt;
JS_SOLARIS_DIR only affects the location of the media when you use the &lt;br /&gt;
JET copy_solaris_media command, otherwise it is immaterial. In other &lt;br /&gt;
words, once your /opt/SUNWjet/etc/solaris_media_locations file is &lt;br /&gt;
vaild, &lt;br /&gt;
everthing should be hunky dory.&lt;/div&gt;</summary>
		<author><name>Marty</name></author>
	</entry>
	<entry>
		<id>https://jet.maui.co.uk/wiki/index.php?title=Documents&amp;diff=1332</id>
		<title>Documents</title>
		<link rel="alternate" type="text/html" href="https://jet.maui.co.uk/wiki/index.php?title=Documents&amp;diff=1332"/>
		<updated>2006-08-29T12:48:34Z</updated>

		<summary type="html">&lt;p&gt;Marty: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
== Marketing! ==&lt;br /&gt;
&lt;br /&gt;
* [[JetFeatures]] - Basic ''feature'' list&lt;br /&gt;
&lt;br /&gt;
== Introduction Documents ==&lt;br /&gt;
* [[JumpStartPrimer]] - Introduction to JumpStart&lt;br /&gt;
* [[JETPrimer]] - Introduction to JET&lt;br /&gt;
&lt;br /&gt;
* [[JetWalkthrough]] - Document describing how to set up JET, courtesy of Paul Juster&lt;br /&gt;
&lt;br /&gt;
== Intermediate Documents ==&lt;br /&gt;
* [[MirroredSystemDisks]] - Using JET to mirror boot disks using SVM&lt;br /&gt;
&lt;br /&gt;
== Advanced/Developer Documents ==&lt;/div&gt;</summary>
		<author><name>Marty</name></author>
	</entry>
	<entry>
		<id>https://jet.maui.co.uk/wiki/index.php?title=JetFeatures&amp;diff=1331</id>
		<title>JetFeatures</title>
		<link rel="alternate" type="text/html" href="https://jet.maui.co.uk/wiki/index.php?title=JetFeatures&amp;diff=1331"/>
		<updated>2006-08-29T12:47:19Z</updated>

		<summary type="html">&lt;p&gt;Marty: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Undecided about JET - well, here is a blatant marketing slide, that lists some of the key features of the toolkit, along with some of the more frequent requested ommissions:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| {{tablestyle}}&lt;br /&gt;
! style=&amp;quot;background:green; color:white&amp;quot; | Description&lt;br /&gt;
! style=&amp;quot;background:green; color:white&amp;quot; | Status&lt;br /&gt;
|-&lt;br /&gt;
| Command Line Based || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Web Front End (inc https) || No&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Can be run by non-root users || Yes through RBAC, sudo etc&lt;br /&gt;
|-&lt;br /&gt;
| Solaris JumpStart (netinstall) || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Solaris JumpStart (Flash) || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Solaris JumpStart (WanBoot) || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Solaris x86 PXE || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Solaris x86 GRUB || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Solaris JumpStart (Bootservers) || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Distributed system to remote parts of WAN || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Distribution of media (pkgs, patches, images) to remote servers || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Supports Tiers of JumpStart servers || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Tailored installs per system || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Ability to build identical servers from master configuration || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Supports multiple OS installs || Yes - Solaris, RedHat and SuSE have been known to work&lt;br /&gt;
|-&lt;br /&gt;
| Works on Solaris (x86 and SPARC) || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Human readable configuration files || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Works 'out of the box' || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Is available to the public for free || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Is a core part of the Sun Field Engineers 'toolkit' || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Has a large external Sun user community || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Is extendible by third parties || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Handles Veritas Volume Manager installs || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Handles mirroring of system disk under Veritas or SVM || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Can be used to install clusters, including clustered applications || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Copes with Flash archives of source machines with mirrored system disks (SVM &amp;amp; VxVM) || Yes&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
;1: Although web front ends have been produced for JET in the past, no generic web front end is available at this time; they are mostly customised for particular clients requirements&lt;/div&gt;</summary>
		<author><name>Marty</name></author>
	</entry>
	<entry>
		<id>https://jet.maui.co.uk/wiki/index.php?title=Documents&amp;diff=1330</id>
		<title>Documents</title>
		<link rel="alternate" type="text/html" href="https://jet.maui.co.uk/wiki/index.php?title=Documents&amp;diff=1330"/>
		<updated>2006-08-29T12:44:04Z</updated>

		<summary type="html">&lt;p&gt;Marty: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
== Marketing! ==&lt;br /&gt;
&lt;br /&gt;
* [[JetFeatures]] - Basic ''feature'' list&lt;br /&gt;
&lt;br /&gt;
== Introduction Documents ==&lt;br /&gt;
* [[JumpStartPrimer]] - Introduction to JumpStart&lt;br /&gt;
* [[JETPrimer]] - Introduction to JET&lt;br /&gt;
&lt;br /&gt;
== Intermediate Documents ==&lt;br /&gt;
* [[MirroredSystemDisks]] - Using JET to mirror boot disks using SVM&lt;br /&gt;
&lt;br /&gt;
== Advanced/Developer Documents ==&lt;/div&gt;</summary>
		<author><name>Marty</name></author>
	</entry>
	<entry>
		<id>https://jet.maui.co.uk/wiki/index.php?title=Documents&amp;diff=1329</id>
		<title>Documents</title>
		<link rel="alternate" type="text/html" href="https://jet.maui.co.uk/wiki/index.php?title=Documents&amp;diff=1329"/>
		<updated>2006-08-29T12:43:16Z</updated>

		<summary type="html">&lt;p&gt;Marty: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Marketing! ==&lt;br /&gt;
&lt;br /&gt;
* [[JetFeatures]] - Basic ''feature'' list&lt;br /&gt;
&lt;br /&gt;
== Introduction Documents ==&lt;br /&gt;
* [[JumpStartPrimer]] - Introduction to JumpStart&lt;br /&gt;
* [[JETPrimer]] - Introduction to JET&lt;br /&gt;
&lt;br /&gt;
== Intermediate Documents ==&lt;br /&gt;
* [[MirroredSystemDisks]] - Using JET to mirror boot disks using SVM&lt;br /&gt;
&lt;br /&gt;
== Advanced/Developer Documents ==&lt;/div&gt;</summary>
		<author><name>Marty</name></author>
	</entry>
	<entry>
		<id>https://jet.maui.co.uk/wiki/index.php?title=JetFeatures&amp;diff=1328</id>
		<title>JetFeatures</title>
		<link rel="alternate" type="text/html" href="https://jet.maui.co.uk/wiki/index.php?title=JetFeatures&amp;diff=1328"/>
		<updated>2006-06-21T13:00:03Z</updated>

		<summary type="html">&lt;p&gt;Marty: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Undecided about JET - well, here is a blatant marketing slide, that lists some of the key features of the toolkit, along with some of the more frequent requested ommissions:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| {{tablestyle}}&lt;br /&gt;
! style=&amp;quot;background:green; color:white&amp;quot; | Description&lt;br /&gt;
! style=&amp;quot;background:green; color:white&amp;quot; | Status&lt;br /&gt;
|-&lt;br /&gt;
| Command Line Based || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Web Front End (inc https) || No&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Can be run by non-root users || Yes through RBAC, sudo etc&lt;br /&gt;
|-&lt;br /&gt;
| Solaris JumpStart (netinstall) || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Solaris JumpStart (Flash) || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Solaris JumpStart (WanBoot) || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Solaris x86 PXE || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Solaris x86 GRUB || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Solaris JumpStart (Bootservers) || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Distributed system to remote parts of WAN || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Distribution of media (pkgs, patches, images) to remote servers || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Supports Tiers of JumpStart servers || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Tailored installs per system || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Ability to build identical servers from master configuration || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Supports multiple OS installs || Yes - Solaris, RedHat at present&lt;br /&gt;
|-&lt;br /&gt;
| Works on Solaris (x86 and SPARC) || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Human readable configuration files || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Works 'out of the box' || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Is available to the public for free || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Is a core part of the Sun Field Engineers 'toolkit' || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Has a large external Sun user community || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Is extendible by third parties || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Handles Veritas Volume Manager installs || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Handles mirroring of system disk under Veritas or SVM || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Can be used to install clusters, including clustered applications || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Copes with Flash archives of source machines with mirrored system disks (SVM &amp;amp; VxVM) || Yes&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
;1: Although web front ends have been produced for JET in the past, no generic web front end is available at this time; they are mostly customised for particular clients requirements&lt;/div&gt;</summary>
		<author><name>Marty</name></author>
	</entry>
	<entry>
		<id>https://jet.maui.co.uk/wiki/index.php?title=Template:Tablestyle&amp;diff=1327</id>
		<title>Template:Tablestyle</title>
		<link rel="alternate" type="text/html" href="https://jet.maui.co.uk/wiki/index.php?title=Template:Tablestyle&amp;diff=1327"/>
		<updated>2006-06-21T11:00:42Z</updated>

		<summary type="html">&lt;p&gt;Marty: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;border=&amp;quot;2&amp;quot; cellpadding=&amp;quot;4&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;margin: 1em 1em 1em 0; background: #f9f9f9; border: 1px #aaa solid; border-collapse: collapse;&amp;quot;&lt;/div&gt;</summary>
		<author><name>Marty</name></author>
	</entry>
</feed>