[comp.unix.ultrix] CD-rom > TK50?

JIW2@psuvm.psu.edu (06/05/91)

 Here's a problem I've been working on for quite a while, with no
success:  Does anyone know how to produce setld-installable TK50's
from the files on a CD-rom?  We are an ESL site, and one of our
jobs is to distribute setld-installable TK50 tapes of Ultrix
products to our clients.  Up to now, we have received our
software distribution on TK50 tapes.  We would like to go to the
DEC Ultrix CD-rom consolidated distribution when it becomes
available (soon, we're told), but if we were to do so, we would
(as things stand now) have no way to produce TK50's that can be
installed with setld.  I wrote a shell script that will >duplicate<
setld-installable TK50's, but have so far had no success in coming up
with something that will take the setld-installable files on a
CD-rom and make a setld-installable tape from them.

 I put a call in to the Atlanta support center about two months
ago, outlining this problem.  They told us that several other
educational sites had contacted them with the same problem, and
they had no answers to give -- no one knew how this could be done.

 Before anyone jumps to the seemingly obvious answers here, read on:

1: Simply tarring the files from CD-rom to TK50 is NOT the
   answer, as the resultant TK50 is not setld-installable.
   One must tar the files from the tape to disk, then install
   from disk.  Many of our clients don't have the disk space to
   do this.  And many who are new to Ultrix/Unix are confused
   by the extra step; they want to be able to install the product
   exactly the way it says to do so in the installation manual.

2: Yes, I know there is a section of the Ultrix documentation
   called "Guide to Preparing Software for Disribution on
   ULTRIX Systems."  However, it does not address our problem.
   This manual is concerned with creating your own setld-
   compatible kits from scratch, and does not deal at all with
   any method for creating setld-compatible TK50's from CD-rom.

3: We cannot ask all of our clients to buy CD-rom drives.  Even
   if by some unimaginable windfall, the University somehow came
   up with enough money to buy CD-rom drives for everybody, we
   still would have only one master CD-rom, which we could not
   simply pass around.

 The files on the CD-rom are, as far as I am able to tell,
identical to what one gets on disk by doing setld -x /dev/rmt0h
against a setld-compatible tape.  What we need, in effect, is
a sort of a "reverse" setld -x, that would take the installable
disk files and create a structured setld distribution onto a tape.
None of the files on /usr/sys/dist seem capable of doing this, and
Atlanta has so far come up with nothing.  Help!  Has anyone else out
there faced this problem?  Any suggestions along these lines would be
useful, both for us and for other ESL Ultrix sites who would like
to go to CD-rom consolidated distribution.   Thanks in advance.

                                          John Wagner

                                    Pennsylvania State University

maj@cl.cam.ac.uk (Martyn Johnson) (06/05/91)

>  Here's a problem I've been working on for quite a while, with no
> success:  Does anyone know how to produce setld-installable TK50's
> from the files on a CD-rom?

I have put a certain amount of thought into this problem, though since I 
do not have any Ultrix CD-ROMs I have not been able to try anything out.

>  The files on the CD-rom are, as far as I am able to tell,
> identical to what one gets on disk by doing setld -x /dev/rmt0h
> against a setld-compatible tape.

This means that it should be possible to use the documented "gentapes" 
utility to generate a tape.  For a layered product, all of the useful 
information on the tape exists in the disc directory, and it is merely a 
matter of putting it back to tape in the right format.  Note that the 
order of the files on the tape is important, and is implied by the MTLOC 
records in the control files. Check out section 6.3 of the "Guide to 
Preparing Software for Disribution on ULTRIX Systems" for a script to 
read these and make a suitable /etc/kitcap.

As I say, all this should be fine for a layered product tape - by which I 
mean a non-bootable TK50 to be read by setld. The problem arises with the 
bootable tape.  The bootstrap files on the front of the tape are not read 
in by "setld -x" (you've already booted, haven't you) and they are 
presumably not on the CDROM (you booted from the CDROM, didn't you?).

What are these magic files?  Well, there are three:

The use of the first two seem to be architecture dependent. On the VAX, 
file 1 is a bootstrap and file 2 is a standalone kernel.  On RISC, file 1 
appears to be a bootstrap and kernel combined, and file 2 is a dummy.

For both architectures, file 3 is a dump (i.e. /etc/dump format) of the 
initial root filesystem for use by the installation script (this gets 
copied to file ROOT by /etc/setld -x, so this should be on the CDROM).

I think, therefore, that the problem of making a bootable tape reduces to 
that of getting the bootstrap files (2 for VAX, 1 for RISC).  Whether 
they are lurking on the CDROM somewhere is anybody's guess. The VAX 
kernel is probably there (because the disc bootstrap probably needs it 
too), but I doubt that the others are present.

It strikes me that it would be a very modest amount of work for Digital 
to provide the necessary files and a suitable /etc/kitcap file, so that 
the TK50 kit can be made with gentapes. Perhaps it is already there and 
just needs documenting.  Could somebody in Digital Ultrix engineering 
comment? It is not the sort of thing I would expect a CSC to be able to 
help with.

This is IMPORTANT.  We are being encouraged to switch to CDROM, but it 
would be absurd to buy a CDROM drive for every machine. Having an extra 
MDDS contract just to get a bootstrap file seems equally ludicrous - 
there are better things to spend money on. Digital have stated that
the right to use software is bought by paying for the licence, not the
media.  Therefore it seems sensible to allow customers to convert kits
from any media type to any other.

Martyn Johnson      maj@cl.cam.ac.uk
University of Cambridge Computer Lab

frank@croton.nyo.dec.com (Frank Wortner) (06/05/91)

Here's what I do.   Let's assume that you have a setld distribution on a
CD or on a disk.  It usually looks something like this:

-rw-r--r--  1 frank     1904640 Mar 13 19:35 DFRBASE300
-rw-r--r--  1 frank       40960 Mar 13 19:34 DFRDOC300
-rw-r--r--  1 frank       10240 Mar 13 19:36 DFRF77300
-rw-r--r--  1 frank       61440 Mar 13 19:35 DFRMAN300
-rw-r--r--  1 frank      389120 Mar 13 19:36 DFRUNSUP300
-rw-r--r--  1 frank      194560 Mar 13 19:34 OTMBASE100
drwxr-xr-x  2 root          512 Mar 20 09:25 instctrl

The first three physical files on a setld tape contain either bootstrap
code or just empty space.  The latter is normally true unless you are
distributing an operating system.  This means that Step One is "create
three empty files at the beginning of the tape."  Here's how:

	cd /tmp
	touch space
	tar cvf SPACE space
	for i in 1 2 3
	do
		dd if=SPACE of=/dev/nrmt0h bs=10k
	done

Now we have to install the installation control programs archive.

	cd /wherever/instctrl
	tar cvf /tmp/INSTCTRL *
	dd if=/tmp/INSTCTRL of=/dev/nrmt0h bs=10k

Now we install the subsets themselves.  Order is important, but happily
there is a file in the instctrl directory that tells us the correct order.

	cd ..
	for subset in `awk '{ print $3 }' instctrl/*.image`
	do
		dd if=${subset} of=/dev/nrmt0h bs=10k
	done

Congratulations, it's a setld tape!

	mt rew

All of this is based on personal observations and experience, and is not
endorsed by Digital.  It works for me, though.

					Frank

urban@ianet.enet.dec.com (Rob Urban) (06/06/91)

In article <1991Jun5.111537.1885@cl.cam.ac.uk>, maj@cl.cam.ac.uk (Martyn Johnson) writes:

> >  Here's a problem I've been working on for quite a while, with no
> > success:  Does anyone know how to produce setld-installable TK50's
> > from the files on a CD-rom?
> 
> I have put a certain amount of thought into this problem, though since I 
> do not have any Ultrix CD-ROMs I have not been able to try anything out.
>...
> I think, therefore, that the problem of making a bootable tape reduces to 
> that of getting the bootstrap files (2 for VAX, 1 for RISC).  Whether 
> they are lurking on the CDROM somewhere is anybody's guess.
 
I'd like to be able to contradict you, but I've been playing with the
RISC Ultrix version 4.0 distribution CD, and a TK50 drive, and to the
best of my knowledge, it can't be done.  You are
correct that all you need is the "bootstrap" file (called the "miniroot"
around DEC, I think).  This
is a special boot+kernel file that runs standalone (including memdisk). 
It has the basic utilities
necessary for installing a system (restore, dd, ifconfig, sh, MAKEDEV,
mkdir, ed, etc).  I'm pretty
sure that what you need can only be found on a distribution tape (TK50).
However, once you have
that, it is relative easy to produce a bootable tape from the rest of
the stuff on the CD.

-rob urban

ww0r+@andrew.cmu.edu (Walter Wong) (06/09/91)

urban@ianet.enet.dec.com (Rob Urban) writes:
> You are correct that all you need is the "bootstrap" file (called
> the "miniroot" around DEC, I think).  This is a special boot+kernel
> file that runs standalone (including memdisk). 

On our distribution of Ultrix 4.2 (RISC), this file was included in
the ROOT dump.  You can extract it by typing in "restore xvf ROOT
vmunix.sas"

On a side note, in our environment, it would be very nice if we chould
change install.1 such that another menu item choice is presented.  In
order to do this, we need to be able to modify the install.1 shell
script in vmunix.sas.  This basically involves gnu-emacs'ing the boot
kernel (kinda icky, huh?).  

It would be really nice if DEC either pulled over install.1 from the
server (in the network installation case), or provided instructions on
how to build your own vmunix.sas (specifically, just how do I stuff a
recognizable filesystem into this kernel?)


Walter
-----
internet:Walter.Wong@andrew.cmu.edu	bitnet:r746ww0r@cmccvb