Subject: Re: HP-UX X server (was: kernel build...)
To: None <port-hp300@netbsd.org, sp128@ibm.net>
From: Mike Hibler <mike@fast.cs.utah.edu>
List: port-hp300
Date: 08/27/1998 10:52:47
> From: Steve Peurifoy <sp128@ibm.net>
> Subject: HP-UX X server (was: kernel build...)
> To: port-hp300@netbsd.org
> Date: Thu, 27 Aug 1998 01:07:21 -0600 (MDT)
> 
> > Ah, you're running the HP-UX X server under emulation mode?  Fantastic!
> > I would like to put up some detailed information on the www server on
> > how to do this... are there any volunteers out there who could help with
> > this?
> 
> I'll describe the setup I use for what it's worth.  I make no claims that
> this is the best arrangement but it works well for me...
> 
> I wanted to keep the HP stuff isolated from the rest of the system for
> ease of keeping track of what's what, so I put it into its own directory
> tree and run it chroot()ed. ...

Here is what we did for many years on our BSD hp300s (and still do on our
BSD hp700s).  We have an "hpux" command which does what you describe: chroot
to /hpux and then feed the rest of the command line to a shell to execute.
So you could do things like "hpux cc file.c" if you wanted to compile a file
with the HP-UX compiler.  Then we populate the /hpux tree with PUX binaries
as you did (or, just NFS mount an HP-UX machine on /hpux, though there were
problems with special files that way).

However, the chroot'ed environment is rather restrictive in what you can
access (duh!) so it wasn't suitable for everything.  So many HP-UX binaries
(e.g., netscape, networker backup software) we just run "normally" and
somewhat contaminate our namespace with symlinks into the /hpux hierarchy;
e.g.,  /lib/libc.sl is a symlink to /hpux/lib/libc.sl.  This works pretty
well for us since our BSD still uses the old, pre-4.4, filesystem layout
and there are not too many name conflicts with what HP-UX expects.  For
example, our libraries are all /usr/lib/lib*.a (we don't have shared-
libraries) while HP-UX binaries expect /lib/lib*.{a,sl} or our X stuff is
in /usr/X11R5 instead of /usr/lib/X11 for HP-UX.