Subject: Re: The 11th NetBSD/SPARC machine [Long]
To: None <earle@isolar.Tujunga.CA.US, port-sparc@sun-lamp.cs.berkeley.edu>
From: Theo Deraadt <deraadt@fsa.ca>
List: port-sparc
Date: 03/27/1994 04:19:41
>I thought I would document my experience bringing it up from scratch; i.e.
>booting from a SunOS 4.1.3 CD-ROM into miniroot, then FTP'ing Theo's binaries
>and installing from there.  In light of the time that has past and Damian's
>post, I'll probably not go into details as I would have previously.

Most of the tar files were made off Paul's machine; a few were made on
mine. In the future it looks like I will make them myself -- I am
(very slightly) better connected to the net. (Can you believe it??!
There are 29 hops between Paul and my machine.)

>        mknod zero              c 3 12  ; chmod 666 null
[...]
>I recall later on thinking that perhaps "pty0" should have also been added to
>the above in Step 5.  (See below.)

Thanks. I just fixed the /dev/zero thing.  The next snapshot will be
capable of handling "MAKEDEV all", which will ease things. I'd love to
ship a dev.tar.gz but it doesn't look as if SunOS `tar' handles device
nodes properly.

>Other than that, initial installation went without a hitch; so we might want to
>consider a README that mentions this alternate/"traditional" method of doing a
>fresh install without having to "prime the pump" on an sd1 inside an existing
>system.

I could only describe what I had done (be glad Paul didn't describe
what he did: he never even had a disk!)  If someone sends me a
document (in roughly the same format as the README please) describing
what different method they used, I'll merge them.

>(1) "nvi" was hanging if I enabled "showmatch" and hit, e.g., a closing paren
>    [")"]

nvi bugs should be sent to cgd. This bug may already have been fixed,
though. please report bugs as soon as you run into them, without
delay.

The binary snapshots were simply copies of Paul's and my machines. We
didn't have enough diskspace at the time, nor was the distribution
creation stuff solid. The next snapshots should hopefully be a lot
cleaner. (I might even rob a 2nd sparcstation to install it on.. if I
can find a disk.)

>I think a general comment at this point is in order.  I think it's taken as a
>given (if not for granted) that most of the folks on port-sparc are already
>NetBSD mavens from the x86 version.

Anyone who intends to follow *any* NetBSD port should also place
themselves on the current-users mailing list; that is where
architecture independent problems, and the normal
updating-your-machine issues are supposed to be discussed.  The
current-users mailing list is rather i386 specific now, but a few more
comments from people running other processors would be good.

>More importantly, how do I know whether the procedure is
>proper for the SPARC port?

The NetBSD tree compiles in the same way on all architectures. Or
well, it should. Often a change made for one architecture breaks
another...  but repairs are soon made. The updating procedure you
listed should do just fine.

Once you get past the initial catching up, if you sup often enough you
may find that "cd /usr/src; make build" suffices, modulo the daily
headaches. (I do so every 2nd day or so..)

>I don't recall what the state of shared libraries
>is on NetBSD/SPARC at the moment (Paul?) - should one still setenv "NOPIC"
>before building in .../libc, for example?

Shared libraries work. To ease updating, the next binary snapshot will
once again be compiled static: it makes it easier for those of you who
want to update.

>[...] working kernel and userland built and installed, the next step would
>be to get "sup" up and running, and get a proper supfile created & installed.
>Is this documented somewhere, in reasonable detail?

The file you wish to read is "pub/NetBSD-current/doc/README.sup".

>In Theo's instructions, I see a
>reference to a "/usr/obj", but since the binaries don't leave one with such a
>thing, I have no idea what it's for.

BSD's >= 4.3reno have a feature built into the `make' program. If it
finds a directory (or symbolic link) called `obj' it will use it to
for all the object files. This can be used for a number of neat
things; one of which is that I use the same source tree for compiling
both the i386 & sparc trees (both of which are compiling
simultaneously now).  I highly recommend others do this, thus:
	"mkdir /usr/obj; cd /usr/src; make obj".
I use a further set of tricks:
	"sparc# mkdir /usr/src/obj-sparc; cd /usr; ln -s /usr/obj-sparc obj"
	"i386# mkdir /usr/src/obj-i386; cd /usr; ln -s /usr/obj-i386 obj"


I _strongly_ suggest you peruse the current-users mailing list archives,
found in "pub/NetBSD/mailing-lists/".

------------------------------------------------------------------------------