Port-vax archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Mopd which works with ELF and a.out in Linux and can netboot ULTRIX



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



On 2020-12-15 2:45 p.m., Paul Koning wrote:
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@localhost



On 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)]
<<
Press any key to abort autoboot
4
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.




Home | Main Index | Thread Index | Old Index