[comp.unix.ultrix] Booting diskless vaxstations

lidl@eng.umd.edu (Kurt J. Lidl) (08/17/90)

For various weird reasons, I need to boot up a gaggle of diskless
VaxStation 2000's...

What I need to know is this -- what are the primary, secondary and
tertiary programs that a vax is supposed to load via mop?

I'd like to get it to load ultrixboot, then a kernel and then
get its swap space off a sun4 in the same room, that has lots of
disk space on it.

Basically, I'm at a loss -- I have already addnode'd a test machine,
and it sucks in the netload.sys file ok -- what does it want next?

(Telling me to RTFM is no good -- the Ultrix docs for diskless
operation are lacking, at least IMHO. If I had the source code,
I'd love to re-write the thing to be comprehensible to mere sys-admins.)

So basically I need help in setting up a diskless environment -- ideally
booting off a vax (mop_mom'ing the initial code) and then continuing
off the sun4 for root, swap and so forth.  Ideas, pointers and
experience gratefully accepted.

Thanks in advance.
							-Kurt
--
/* Kurt J. Lidl (lidl@eng.umd.edu) | Unix is the answer, but only if you */
/* UUCP: uunet!eng.umd.edu!lidl    | phrase the question very carefully. */

lidl@eng.umd.edu (Kurt J. Lidl) (08/19/90)

In article <1990Aug17.035622.1732@eng.umd.edu> I wrote:
>For various weird reasons, I need to boot up a gaggle of diskless
>VaxStation 2000's...
>
>So basically I need help in setting up a diskless environment -- ideally
>booting off a vax (mop_mom'ing the initial code) and then continuing
>off the sun4 for root, swap and so forth.  Ideas, pointers and
>experience gratefully accepted.

Well, I got two responses from my last message(*), but that got me far
enough to at least boot the machine (sorta -- see below).  I figured
that I would try a simple boot first -- give it an IP address,
boot up a standard kernel, etc and work my way up from there.

So I copied /usr/sys/sas.net/vmunix into the place where I told
getnode to boot my kernel.  This worked fine.  The kernel came up
fine.  Then when I started poking around, I figured out that there
was a filesystem around that *did* *not* exist on disk anyplace.
After talking about this with some of my co-workers, we looked
around in the kernal that we just booted -- sure enough, the
filesystem was wrapped *INSIDE* of that kernel.

At any rate, if anyone has any information on exactly how this special
kernel was created, or how more of the same type of kernel could be
created, I would really like to hear from you.

On other fronts, if I try to compile a kernel for the same workstation,
and boot it, it loads itself in and then right after it gets done
autoconfig'ing the devices and reports the swap space, it dies with
the following error.

clntkudp_create: socket bind problem, [repeated once], 49trap type 8, \
code = 4, pc = 8001ed81

This is followed by a register and stack dump.

So if anyone knows the magical things that need to be done to get an
Ultrix kernel to work with a diskless workstation (precisely, a
monochrome vs2000 with 6 megs of ram, no local disks, and a FPA),
I'd love to hear from you.

Finally, an easy question.  In the secondary bootstrap loader, there
are two fields for "root file descriptor" and the "swap file descriptor" --
are these two fields actually used in the system somehow?  If so, 
what is their format?  If is a nfs-type mount (ie /path/to/file@hostname)
or is it something else?  I'd like to know if I'm just wasting my
time frobbing these parameters when these aren't booting.

(*) Many thanks to: peterb@cwi.nl (Peter Bosch) and
    Richard Seymour <seymour@milton.u.washington.edu>

The vmunix that exists in /sys/SAS.net/vmunix is really strange...
(Upon loading the vmunix into emacs...)

"Isn't that a shell script?" - Dave
"Yeah, kinda sticks out like a sore thumb in the middle of a kernel" - me

(Actually, if someone can tell me how to make a funky kernel like
that one, we've got a really sicko hack on how to boot-strap the 
rest of the stuff we need into the ram on the vaxstation.)

							-Kurt

--
/* Kurt J. Lidl (lidl@eng.umd.edu) | Unix is the answer, but only if you */
/* UUCP: uunet!eng.umd.edu!lidl    | phrase the question very carefully. */