Unfortunately I don't have a SimH set up for emulating vaxen! I'm a retired hardware engineer so my fetish is getting the actual hardware working :-)
So far the issues that netizens here have helped me with to get this far have all been to do with the linux MOP and NFS servers not supporting early versions of protocols, such as NFS not supporting version 2.
Perhaps some more enlightened bit-heads here can shine some better light on the question?
cheers,
Nigel
Nigel Johnson, MSc., MIEEE, MCSE VE3ID/G4AJQ/VA3MCU Amateur Radio, the origin of the open-source concept! Skype: TILBURY2591 nw.johnson%ieee.org@localhost
Question... I don't have an actual VAX but I can set one up in SIMH. Does this test you described work in SIMH?
paul
On Dec 11, 2020, at 1:40 PM, Nigel Johnson <nw.johnson%ieee.org@localhost> wrote:
Thanks to Boris's help below, I now have it booting up to a point. Wireshark shows 7594 packets to and from the microvax.
I had previously tried all the config files setting suggestions to get NFS to support V2, but found this little gem that solved the problem:
rpc.nfsd 0 && sleep 1 # Stop all previous threads rpc.nfsd --nfs-version 2,3 8 # Restart 8 threads with versions 2 and 3
Now I get this far on the microvax console:
[ 2.6800070] nfs_boot: trying DHCP/BOOTP
[ 5.9100070] nfs_boot: DHCP next-server: 192.168.2.25
[ 5.9200070] nfs_boot: my_domain=ve3id.ddns.net
[ 5.9300070] nfs_boot: my_addr=192.168.2.30
[ 5.9400070] nfs_boot: my_mask=255.255.255.0
[ 5.9500070] nfs_boot: gateway=192.168.2.1
[ 18.3000070] root on 192.168.2.25:/export/vax/root
[ 18.3400070] panic: nfs_mountroot: getattr for root
[ 18.3600070] cpu0: Begin traceback...
[ 18.3700070] panic: nfs_mountroot: getattr for root
[ 18.3800070] Stack traceback :
[ 18.3900070] Process is executing in user space.
[ 18.4100070] cpu0: End traceback...
Stopped in pid 0.1 (system) at netbsd:vpanic+0x171: pushl $0
db>
I know I saw something about a getaddr problem in one of the posts I found in the gazillion searches I made using google, but cannot find it again.
Does this ring a bell with anybody?
thanks in advance for any help,
Nigel
Nigel Johnson, MSc., MIEEE, MCSE VE3ID/G4AJQ/VA3MCU Amateur Radio, the origin of the open-source concept! Skype: TILBURY2591 nw.johnson%ieee.org@localhostOn 2020-11-02 9:21 p.m., Boris Gjenero wrote:
Below you have:
> T540p:/var/log # rpcinfo -s
> program version(s) netid(s) service owner
...
> 100003 4,3 udp6,tcp6,udp,tcp nfs superuser
That means your NFS server speaks version 4 and 3 of the protocol. That is a problem, because NetBSD boot requires version 2. Mine says:
> 100003 4,3,2 udp6,tcp6,udp,tcp nfs superuser
If you want to see why this is important, note that https://github.com/NetBSD/src/blob/trunk/sys/lib/libsa/nfs.c speaks version 2. Besides the "nfsv2" all over the place in that file, note various rpc_call() have NFS_VER2 as an argument. This is the standalone library used by NetBSD boot, which is meant to be small and simple. Boot doesn't use the main kernel NFS client code.
RPC status not running as root shouldn't be a problem.
On 2020-11-02 10:41 a.m., Nigel Johnson wrote:
Looking further from Boris's comments, I have found that the rpc call
that is failing is STATUS.
rpcinfo -m
PORTMAP (version 2) statistics
NULL SET UNSET GETPORT DUMP CALLIT
1 0/0 0/0 36/37 0 0/0
PMAP_GETPORT call statistics
prog vers netid success failure
nfs 2 udp 18 0
mountd 1 udp 18 0
status 1 udp 0 1
RPCBIND (version 3) statistics
NULL SET UNSET GETADDR DUMP CALLIT TIME U2T T2U
0 16/16 4/4 0/0 2 0/0 0 0 0
RPCBIND (version 4) statistics
NULL SET UNSET GETADDR DUMP CALLIT TIME U2T T2U
1 22/22 6/6 0/0 0 0/0 0 0 0
VERADDR INDRECT GETLIST GETSTAT
0 0 0 2
And when I ask for status:
T540p:/var/log # rpcinfo -s
program version(s) netid(s) service owner
100000 2,3,4 local,udp,tcp,udp6,tcp6 portmapper superuser
100005 3,2,1 tcp6,udp6,tcp,udp mountd superuser
100024 1 tcp6,udp6,tcp,udp status 476
100003 4,3 udp6,tcp6,udp,tcp nfs superuser
100227 3 udp6,tcp6,udp,tcp nfs_acl superuser
100021 4,3,1 tcp6,udp6,tcp,udp nlockmgr superuser
T540p:/var/log #
Si it seems that I have got something set up wrong - the owner is '476'
instead of superuser.
Does anybody have any idea how to fix this?
cheers,
Nigel
Nigel Johnson, MSc., MIEEE, VE3ID/G4AJQ/VA3MCU
Amateur Radio, the origin of the open-source concept!
Skype: TILBURY2591 nw.johnson%ieee.org@localhost
On 01/11/2020 11:33, Boris Gjenero wrote:
Hi!
On 2020-10-31 11:25 a.m., Nigel Johnson wrote:
First of all, I want to say thank you very, very, much to Boris for
creating a mopd which works for me!
You're welcome.
I am trying to netboot a uVax II from linux the same as he is. His fix
allows me to get to the point where 179 packets are exchanged between
the microvax and the server running mopd on SuSE linux 15.1 leap.
So far I get this on the uVax II console::
<<NetBSD/vax boot [1.12 (Tue Mar 31 05:08:40 UTC 2020)]
4Press any key to abort autoboot
Trying
BOOTP
Using IP address:
192.168.2.30
myip:
(192.168.2.30)
root addr=192.168.2.25 path=/export/vax/root
but then fails with:
callrpc: error =
2
open netbsd.vax: Unknown error: code 72
This is just telling you an RPC call failed when trying to open the
file. Code 72 is EBADRPC. The 2 might be version mismatch.
I wonder, is your NFS server capable of NFS version 2 operation? That
seems necessary here, and it is disabled by default in Ubuntu 20.04
and 20.10. In /etc/default/nfs-kernel-server, I edited these two
lines, adding the "--nfs-version 2,3,4 " part:
RPCNFSDCOUNT="--nfs-version 2,3,4 8"
RPCMOUNTDOPTS="--nfs-version 2,3,4 --manage-gids"
Restart nfs-kernel-server after editing that.
before it tries to boot other variations of netbsd with the same
results.
I can see from wireshark that port 2049 is being offered for NFS before
the above errors occur. (Each time it tries a different possible piece
of code it fails the same way).
The last two packets before it gives up are:
175 3.007003113 BONZO T540p NFS 150 V2 LOOKUP Call
(Reply In 176), DH: 0xa081c56c/gennetbsd
176 3.007548576 T540p BONZO NFS 74 V2 LOOKUP Reply
(Call In 175)
My problem is that I cannot find anywhere that describes what
callrpc: error =
2
open netbsd.vax: Unknown error: code 72
Means!
does anybody have any documentation (I assume old DEC data) that can
help?
Once you see "NetBSD/vax boot", you're running NetBSD code, and it's
communicating with an NFS server. It is reporting errors in
communication with that NFS server. Old DEC data wouldn't help. I'm
not sure that this is documented, but you can look at the source:
https://github.com/NetBSD/src/blob/trunk/sys/arch/vax/boot/boot
https://github.com/NetBSD/src/tree/trunk/sys/lib/libsa
But first I would examine the reply from the server in more detail. If
you select the packet in Wireshark and look inside, you might be able
to learn more.