Sun Java Solaris Communities My SDN Account Join SDN
 
Article

Solaris Developer Chat Sessions

 
 

Solaris Live Transcripts Index

September 28, 2000

Chat Title: Setting Up a Development Network Using Solaris JumpStart
Guest Speaker: James C. Liu, Ph.D

This is a moderated forum

LizA: Welcome to the Solaris Developer Connection chat, "Setting Up a Development Network Using Solaris JumpStart" Our guest is James Liu, Internet Architect in Market Development Engineering at Sun. His duties include helping ISVs design and implement Sun software, performance tuning applications, and technical evangelism. James has been known to help ISVs on evenings and weekends with Solaris installations, and even occasionally leading study groups in Solaris System Administration certification. We hope you have lots of questions for James.

gopirao:I am involved with developer support for Sun's customers and one of them has reported the following question. When we boot an UltraSPARC client through Solaris 2.7 JumpStart and open a command tool window and execute "getbootargs", they get kernel/unix install . But on their earlier systems/OS say like 2.6 and a SPARC 20, the same command returns : kernel/unix - install ( Please note the "-" ) This is breaking their customized JumpStart scripts. They have worked around the problem to take care of this change. But they are interested in knowing the reson for this change. Also, this change appears to be only with a combination of UltraSPARC platform and Solaris 5.7. I would appreaciate if you could forward this question to the concerned. Thanks, Gopirao

jamesliu: Gopirao, unfortunately, we can't sustain OPB specific calls such as getbootargs. JumpStart provides documented customization via rules/profiles and begin and end scripts. Using these is usually a better idea and works across most Solaris 2.x thru Solaris 8 that support JumpStart.

FireballFreddy: JumpStart install on x86. I find that the installation hangs every time if the system contains more than 1 NIC. Any idea why this would happen?

jamesliu: Fireball, could be a couple of reasons ranging from driver init problems to IRQ conflicts. I don't know the answer off hand, we could probably go offline at the closing of this chat, and you can email me personally with the diagnostic output (james.liu@sun.com).

agalvan: I hear a lot about JumpStart. Can you tell me how much it costs and where I can get it?

jamesliu: Agalvan, glad you asked. Actually JumpStart (in non-GUI form) is free and on the Solaris CDROM. You should be able to go to www.sun.com and drill down and order it. It's usually located (Solaris 8) on the CDROM 1 of the install. Check out docs.sun.com for advanced installation tips.

agalvan: How many clients can jumpstart from a single server? network?

jamesliu: Agalvan, another common question. It should be as scalable as our Solaris NFS since it is based primarily on using NFS to mount installation filesystems. We (Sun) regularly jumpstart hundreds of hosts at tradeshows in about an hour or so.

madrid: I already have Solaris installed. How would I benefit from JumpStart?

jamesliu: Madrid, JumpStart can reduce the cost of IT maintenance. Inside Sun, we often use JumpStart to periodically upgrade machines just simply by having folks reboot using "boot net - install" and they get everything in a default install. I can introduce some Marketing folks to sell the idea. Anything more technical :-).

madrid: I have another question for you... Is there a way to prepare JumpStart to work with DNS instead of NIS?

jamesliu: Madrid, yes, you can get JumpStart to work with DNS rather than NIS. One easy way is to implement a "sysidcfg" file and point to the exported directory it is stored on using a flag in the add_install_client command.(see man pages for both add_install_client and sysidcfg). The sysidcfg can specify nameservice such as NIS, DNS, or NONE.

Ian: I have the Sun Developer Essentials Foundation package which comes with Java JumpStart. How can I utilise Solaris JumpStart to give me a good development network for Java? My dev environment is x86 based.

jamesliu: Ian, what I usually do for heterogeneous networks with Solx86 is to jumpstart those hosts and have them execute a postinstall script (i.e. end script) which NFS mounts the x86 Java packages and installs them plus any patches. I can send you a sample post install script if you send email.

FireballFreddy: Is there any way to jumpstart systems without knowing the hostid? I'd like to be able to install a system by executing "boot net - install" without having to enter the hostid on the jumpstart server.

jamesliu: Fireball, yes, should be able to manually get JumpStart to go into a promiscuous mode which is based on placing an (*) asterisk in the left column of the /etc/bootparams file. The rpc.bootparamd should then answer to any MAC address.

Max: Some of my machines are big, honking iron Ultra-60s or 80s with 2 - 4 processors and 1 GB+ of RAM and big disks. Others are smaller SS-20s. What do I need to do to get JumpStart to install both types of systems?

jamesliu: Max,...honking iron, huh? :-). What I usually do in these cases is to implement detailed profiles for each type of system. I specify explicit partitions/filesystems swap, and packages. I then set the rules based on architecture: sun4u for ultraSPARCs, etc. ; don't forget to run ./check to make sure JumpStart picks up the changes.

agalvan: Where can I find some resources and docs on this?

jamesliu: Agalvan, the best site to find JumpStart docs is on the web at docs.sun.com. Pick your OS version (e.g. Solaris 8) and drill down to the Installation Collection/Advanced Installation. There's a fairly comprehesive example, although the final boot commands should be "boot net - install" and NOT "boot net" (which will place you into interactive install).

Max: My version of Solaris 7 and Solaris 8 each have a different JDK. Sun seems to keep shipping packages that overwrite /usr/java1.x. Can JumpStart unify my development systems but let me test with 3 or 4 JDKs?

jamesliu: Max, this is similar to a previous question on x86 Java installation. I recommend a similar approach. If you are having problems with Solaris JDK packages defaulting to /usr/javaX.X directory, you can force the installation to go into a different root path using the pkgadd -R flag in the postinstall script. Or better yet, just install it as priori and zip or tar it and unpack it in the post install.

Max: We've got multiple submets and I can't boot from the boot server, but I can ping it. Have any ideas of what's wrong? Solutions?

jamesliu: Max, I gather you have multiple SubNETs :-)... The reason why the JumpStart boot service does not work is due to the nature of the broadcast used during client boot up. Most routers do not forward the boot request across subnets. NFS however establishes connections intially via TCP. This means that while every subnet needs a JumpStart boot server, the actual JumpStart installation server can be on another subnet.

madrid: Can I use JumpStart server to boot Linux?

jamesliu: Madrid, good question. Since JumpStart is primarily an automated installation process, it certainly can boot and install Linux. Most Linux installs start with a boot floppy. For RedHat 5.x and later, there's a net install image that one can add onto a floppy and boot over the net and either ftp or NFS mount the right packages from the install server. I actually do this at home with my Ultra and plethora of Linux clients.

madrid: I keep getting asked for IPv6 and Kerberos information in my JumpStart. What's up with that? Can I make it totally non-interactive?

jamesliu: Madrid, most likely you've misconfigured the /etc/bootparams arguments so that either the JumpStart client isn't picking up the sysidcfg file, or it isn't matching the right profile. In the sysidcfg file, you need to specify NO to security mode and IPv6, then you need to point the bootparams to the -directory- that the 'sysidcfg' file (exact spelling) is located in. The docs on the sight make this slightly ambiguous.

FireballFreddy2: Can reboots be incorporated into a JumpStart install? Right now we jumpstart the Solaris and then need to run a script for the rest of the stuff. The reboots are necessary because we are using layered packages, i.e. RAID under Veritas software, that need to be installed in a proper order.

jamesliu: Fireball, you've stumped me on this one. I believe I have a way of doing this but it isn't supported by JumpStart. The key to multiple boots is to force the reboot and after the first successful OS install, you leave additional scripts lying around the system which execute a post-post-install. This is similar in concept to leaving /noautoshutdown file in the root directory after install to set the system to not use auto power-off or ask for it on the next boot up. You'd have to roll your own...

Max: I'm consulting with an ISV and am running into a big problem. I haven't been able to get JumpStart working on this LAN. The ICMP/RCMP packet something... times out. Any hints?

jamesliu: Max, you can ask the network admin if they implement VLANs. Many corporate networks have managed switches for better security and throughput. But this implies that a physical port is often tied to a specific port on the switch and set to a fixed network. In addition, broadcast packets such as DHCP and BootP aren't default forwarded to all the ports subscribing to a particular VLAN. I've personally seen this happen where VLANs will timeout for a minute then forward the broadcast, after which the jumpstart proceeds.

FireballFreddy2: Right now we have it working by triggering the initial script via TCL expect, then do the rest by planting scripts in the /etc/rc directories so the installation continues after a reboot. Just thought there might be a better way. :)

jamesliu: Fireball, if you guys are a customer or ISV I'd be happy to file an RFE (Request For Enhancement).

agalvan: What's the principle behind how JumpStart works on the client and server?

jamesliu: Agalvan, JumpStart works based on the Sun Open Firm Works (aka Open Boot PROM). Rather than BIOS on PCs, Sun SPARC workstations have networking and discovery software built in. Upon net boot request, the client system broadcasts it's MAC address over the network. If a boot server is configured to answer the request, it will send the client sufficient information for the client to load its kernel, find the install server, and mount a network root filesystem. The initial protocol to fetch the kernel is TFTP, followed by NFS for most other traffic.

LizA: James, our time is up. Do you have any further comments?

jamesliu: LizA, thanks for the opportunity to chat. If there are any more additional JumpStart questions more appropriate to converse offline, please have folks email me. I'm at james.liu@sun.com.

LizA: Our thanks to James Liu and all of you who made history today by joining the first Solaris Developer Connection chat! We have more planned for you...watch http://www.soldc.sun.com for news.


Back to Top