Subject: Re: ...Almost got this 3/50 booted...
To: None <rbinder@ugly.UVic.CA>
From: der Mouse <mouse@Collatz.McRCIM.McGill.EDU>
List: port-sun3
Date: 05/21/1995 16:13:02
> nfs_boot: using network interface 'le0'
> nfs_boot: client_addr=0xc8010103
> nfs_boot: server_addr=0xc8010101
> nfs_boot: hostname=sun
> root on paradise:/export/netbsd.sun3
> swap on paradise:/export/swap
> init: not found
> panic: no init
> Stopped at      _Debugger+0x6:  unlk    a6
> db> 

> What does it mean???  What's at fault?

Well, for full details, see /usr/src/sys/kern/init_main.c, which is
where the panic is coming from.

> "init" is in the sbin directory (/export/netbsd.sun3/sbin).

Then it must not be accessible from the Sun for some reason; as you'll
see if you read over the code in start_init(), in kern/init_main.c, it
tries to exec init from various paths.  If any of them fail for any
reason other than ENOENT, you should get a complaint.

I'm having trouble thinking of anything that could cause what you're
seeing.  Unless the file in /export/netbsd.sun3/sbin is really called
something like "init " or "inix^Ht" (which certainly would explain it),
you should be getting a different error, even if something like ENOEXEC
or EPERM.  Unless the Linux NFS server is out to lunch, returning
incorrect error codes, of course...it might not be a bad idea to check
the permission bits on all directories involved, and on the file, and
make sure they're all at least 555, in the hope of eliminating any
excuses for the NFS daemon to fail.

If that doesn't help, I would dive into the source, probably first into
the NFS daemon on the Linux box, because that's the most accessible
piece: have it print out a trace of the requests it's seeing and the
replies it thinks it's sending...if that doesn't help, I would probably
have to try to set up a cross-compilation environment good enough to
build the NetBSD/sun3 kernel, and start dropping debugging code into
that.

If you have access to any other NFS server machine, you might try
putting the kernel, init, and sh there, and see if you get past the
point you're at now.  (You should be able to get a single-user shell,
at least, even though you won't be able to do anything with it with no
utility programs.  May need some dynamic-linking stuff too...init and
sh _should_ be linked static, of course, but I don't know exactly what
you've got there.)

					der Mouse

			    mouse@collatz.mcrcim.mcgill.edu