Subject: suggestions for Install guide?
To: None <netbsd-docs@netbsd.org>
From: Johan A. van Zanten <johan@ewranglers.com>
List: netbsd-docs
Date: 02/10/2002 18:46:04
Greetings.

  I have a couple of suggestions (possible corrections) for the netboot
documentation pages.

 1) I think i found a work-around or solution for the problem with the
"whoami" call from a NetBSD netbooting from a Solaris (8) machine,
described here:

 http://www.netbsd.org/Documentation/network/netboot/bootparams.html#solaris


 ... what seems to work is to restart rpcbind *after* the changes have
been made to /etc/ethers, /etc/bootparams and /etc/hosts, and
/usr/sbin/rpc.bootparamd has been started.  This goes something like:

    pkill rpcbind
    /usr/sbin/rpcbind -w

 One typically wants to make sure that rpcbind is killed "normally"
(SIGINT or SIGTERM).  Otherwise, it will not write out its list of
previously registered services to /tmp, so that it can be warm started.

 The "-w" flag to rpcbind is necessary to tell rcpbind to warm start and
look for the list of previously registered services in /tmp.  Not using
the -w flag usually causes a lot of distress for already running services
(like nfsd, mountd, etc.) that use RPC, and it's sometimes easier to just
reboot the machine if rpcbind is not warm started after being killed.

 Interestingly, in my testing, if i rebooted the Solaris machine after
making the appropriate changes to /etc/ethers, /etc/bootparams and
/etc/hosts for rpc.bootparamd, the Solaris machine still did correctly
respond to the "whoami" bootparam call.

 Currently, the docs say to "download SYS_UBOOT from OpenBSD."  I believe
the above is a more desirable solution, because it addresses the source of
the problem: some odd behavior in the initialization of rpcbind.  I
suspect it something in the name resolution.  From what i can tell with
truss, rpcbind seems to load up some name service information at start.
As a result it simply does not pass the "whoami" request through to
rpc.bootparamd when it appears on the wire.

 One last note, i'm using FQDNs for the NetBSD netbooting machine.
(E.g. "foo.bar.com" rather than "foo")

2) Per
http://www.netbsd.org/Documentation/network/netboot/local.install.html, i
was unable to find a ramdisk kernel on ftp.netbsd.org that would boot the
machine and result in a successful installation.

Both of these files:
.../NetBSD/arch/sparc/snapshot/20020125-1.5ZA/installation/bootfs/netbsd.ram.aout.gz
.../NetBSD/NetBSD-1.5.2/sparc/installation/bootfs/netbsd.ram.aout.gz

Returned this error:
 netbsd: Inappropriate file type or format


 Interestingly, "file" run on the Solaris machine returned "impure SPARC
executable" for both of these files, though it returns "ELF 32-bit MSB
executable SPARC Version 1, statically linked, not stripped" for the
"good" kernel i eventually used.

 I was able to use NetBSD/arch/sparc/1.4.2-sun4-bootfs/nstbsd.ram.gz to
boot the machine, but this 1.4.2 kernel corrupted the 1.5.2 installation.


 Ultimately, i had success by installing
.../NetBSD/NetBSD-1.5.2/sparc/binary/kernel/netbsd.GENERIC.gz as
[nfs boot server]:/<hostname>/root/netbsd 


3) I found the installations scripts in
NetBSD/NetBSD-1.5.2/sparc/installation/bootfs/instfs.tar , but 2 appear to
have slightly different names from what is listed in the docs.

install.sub
install.md
install
upgrade

I suspect that
http://www.netbsd.org/Documentation/network/netboot/local.install.html
should be updated the names of the last two files in that list. They no
longer have ".sh" on the end of their names.

 -johan