What is UberJS?
To begin, UberJS is short for Uber JumpStart, which is a funny term
we originally coined for Linux Kickstart with our UberKS system. In
short, UberJS is a method we devised to be able to bypass the rarpd/bootparamd
requirements of a networked JumpStart boot and replace those
requirements with prompting and automation.
The UberJS process creates a bootable Sun CD which, using some basic
configuration files, can get the installing machine up on the network
and connected to the JumpStart server via NFS without all of the hassles
of the RARPD/BOOTPARAMD method. Almost all of the configuration files
are completely optional, but the more information you provide the more
unattended the installation becomes, and a completely unattended
installation is possible.
The need arose when we were trying to do JumpStarts across subnets
and the routers would not pass RARPD/BOOTPARAMD information across the
networks which caused the need for a Linux JumpStart laptop. Optionally,
we could have used Solaris X86, but the lack of good PCMCIA support (for
ethernet cards) among other things lead us to use RedHat Linux. The
system works, but there are subtle differences between Sun's daemons and
the Linux style daemons. Sun supports some non-standard extensions. In
any case, part of the hassle is creating symlinks in the tftpboot
directory from the kernel to a file with the booting systems mac
address. Maintaining the laptop and continually modifying the
configuration files proved to be a hassle.
UberJS was our solution. It also happens to eliminate the need for
rarpd and bootparamd running on your jumpstart server. Simply having an
NFS server with the Solaris media and configuration files is enough.
Granted proper access, one could build a system anywhere on the Internet
using UberJS without need of a JumpStart server present on your local
network. Administrators could mail a CD to a remote site and allow them
to rebuild from a central server. There are many possibilities for
UberJS, many are provided for in our current code, and many are not.
Future updates may include other options, but this code is intended
merely as a gateway to your own modifications. We have tried to comment
and document as much as possible so that you may dive right in and make
any modifications yourself. We may consider adding your ideas to UberJS
and our website, but it was designed primarily for on-site use here at
Iowa State and once our needs are met, development will pause until more
needs arise. If you have an idea for a feature and want to share it
here, email us at the link below and we will consider developing it.
News and updates:
Note: Solaris 9 12/03 and Solaris 8 02/04 editions are in testing/development
I have currently edited files for 9-12/03 and 8-02/04 editions the way it looks like they should work. Basically plugging code into the new locations where the same thing happens. It doesn't look like sun really changed anything major other than adding wanboot, but there's no guarantee whether the code will work. Currently not tested.
Also noteworthy is that Solaris 8 02/04 seems to be redone in the style of Solaris 9 08/03, with the slice 1 link in Tools/Boot on slice 0. Also, there is near zero difference in the rcS and sysidfind files aside from a cpu compatibility message. Solaris 8 is partially tested currently, the 02/04 release has not been tested at all. Someone has used the uberjs-sol8-mini-exec successfully on a slightly modified older version of solaris 8. It might need tweaking for your use. The standard uberjs-exec may work as well.
New features added to UberJS and bugfixes
IMPORTANT: please see this document for information regarding important changes to UberJS
UberJS Quick Start documentation - here
Using UberJS, what to do with the finished CD - UberJS documentation
Preliminary SysAdmin Magazine Article Text - UberJS documentation
How to implement the UberJS system one file at a time - UberJS
documentation (similar content to the SysAdmin article)
How to create/extract a solaris CD - Solaris9BootableCD documentation
How to create a solaris+redhat boot CD - UnixStart documentation
How to create a solaris+anythingintel CD - ClueStart documentation
The JumpStart Boot Process - a quick reference of all the major scripts
involved in JumpStart and which scripts they call
uberjs-exec script is available
here, also the bulk of the documentation is in the comments of this
uberjs-sol8-mini-exec is available here - partially tested, note this is not the file pulled by mkuber.
08/03 sysidfind script is available here
08/03 rcS script is available here
12/03 sysidfind script is available here
12/03 rcS script is available here
Solaris 8 02/04 sysidfind script is available here
Solaris 8 02/04 rcS script is available here
wget solaris binary to copy onto /.tmp_proto/uberjs is
UberJS Automation Related Files
08/03 mkuber available here here
12/03 mkuber available here here
Solaris 8 02/04 mkuber available here here
makes a basic UberJS Standard/Server working directory from a sun CD.
QuickStart documentation for more info.
mkiso script available here here -
makes boot isos for sun+intel or just sun
mkiso Related Files
memdisk executable is available
isolinux.cfg.append text is available
MD5 Sums of all files are available