Hello everyone, I am using pxelinux to boot kernel from network, which goes ok. But when root must be mounted from NFS, I get the following code: Looking up port 100003/2 on 192.168.1.1 RPC: sendmsg returned error 22 portmap: RPC call returned error 22 ROOT-NFS: unable to get nfsd port number from server, using default looking up port of RPC 100005/1 on 192.168.1.1 RPC: sendmsg returned error 22 portmap: RPC call returned error 22 ROOT-NFS:unable to get nfsd port number from server, using default RPC: sendmsg returned error 22 mount: RPC call returned error 22 ROOT-NFS: server returned error -22 while mounting 192.168.1.1:/netboot/base VFS: cannot open root device via nfs, trying floppy server is indeed 192.168.1.1 and root of client system is in /netboot/base inetd, dhcpd, rcp.mountd, rcp.nfsd are running /etc/exports: /netboot/base 192.168.1.0/255.255.255.0(rw,no_root_squash) /etc/hosts.allow: ALL:ALL (for now) dhcpd seems to work fine: clients gets ip-address. tftp from inetd should be working fine since the kernel is received by client and executed. - though I get in log: in.tftpd:tftp: client does not accept options. I dont know if NFS needs tftp in some way, if so tftp could be the cause. Network (imbedded) card is recognised and passes self test. socket of nfs tcp is listening. In netstat -p |grep rpc I get: dgram 56732 rpc.nfsd dgram 55905 rpc.mountd While client looks for socket 100003/2 or 100005/1, mine rpc.mountd is on socket 55905. Maybe it is a reason for an error 22. If someone could tell me more I would appreciate very much.
Hi, <robvog at hetnet.nl> schrieb am 14.05.02:> I am using pxelinux to boot kernel from network, which goes ok. > But when root must be mounted from NFS, I get the following code: > > Looking up port 100003/2 on 192.168.1.1 > RPC: sendmsg returned error 22 > portmap: RPC call returned error 22 > ROOT-NFS: unable to get nfsd port number from server, using default > looking up port of RPC 100005/1 on 192.168.1.1 > RPC: sendmsg returned error 22 > portmap: RPC call returned error 22 > ROOT-NFS:unable to get nfsd port number from server, using default > RPC: sendmsg returned error 22 > mount: RPC call returned error 22 > ROOT-NFS: server returned error -22 while mounting 192.168.1.1:/netboot/base > VFS: cannot open root device via nfs, trying floppy > > server is indeed 192.168.1.1 and root of client system is in /netboot/base > inetd, dhcpd, rcp.mountd, rcp.nfsd are running > /etc/exports: /netboot/base 192.168.1.0/255.255.255.0(rw,no_root_squash) > /etc/hosts.allow: ALL:ALL (for now) > > dhcpd seems to work fine: clients gets ip-address. > tftp from inetd should be working fine since the kernel is received by client and executed. > - though I get in log: in.tftpd:tftp: client does not accept options. I dont know if NFS needs tftp in some way, if so tftp could be the cause.This is the usual behaviour. The PXE rom asks for some options, and then resets the connection. In turn a second tftp request is done.> Network (imbedded) card is recognised and passes self test. > socket of nfs tcp is listening. > > In netstat -p |grep rpc I get: > dgram 56732 rpc.nfsd > dgram 55905 rpc.mountd > While client looks for socket 100003/2 or 100005/1, mine rpc.mountd is on socket 55905. Maybe it is a reason for an error 22.The port numbers are RPC numbers, not sockets. Try 'rpcinfo -p' for these. Looks like you exported the NFS directory wrong. Did you try to mount this directory by another client? How do you tell the kernel the root FS? If the portmap calls fail the server doesn't want to talk to the client, perhaps it wants the client to be in the DNS, or else. Did you try to put the IP of the client into /etc/exports instead of the network address? BTW, this has nothing to do with pxelinux, it's a kernel issue. Regards, Josef ________________________________________________________________ Keine verlorenen Lotto-Quittungen, keine vergessenen Gewinne mehr! Beim WEB.DE Lottoservice: http://tippen2.web.de/?x=13
Hi, <robvog at hetnet.nl> schrieb am 15.05.02:> > How do you tell the kernel the root FS? > I have: > In /tftpboot/pxelinux.cfg/default > default linux root=/dev/nfs nfsaddrs=192.168.1.1:192.168.1.1:192.168.1.1:255.255.255.0:netserver:eth0 nfsroot=192.168.1.1:/netboot/base > where netboot/base is where root for client system begins.oops, this looks bad. nfsaddrs tells the kernel also the _client's_ address, so you've configured your client to be 192.168.1.1, and the server (& gateway) to be the same - but I doubt there's some NFS server running on localhost 8-). BTW, this is nowerdays renamed to 'ip=', look into <kerneltree>/Documentation/nfsroot.txt for the full explanation of the options. I use 'DHCP Autoconfig' in the kernel, so I just give 'ip=dhcp' to the kernel, and the kernel does (another) DHCP. Also you could try 'ipappend 1' in the pxelinux config file, then pxelinux will give the appropriate 'ip=' to the kernel, to avoid an additional DHCP. Regards, Josef ________________________________________________________________ Keine verlorenen Lotto-Quittungen, keine vergessenen Gewinne mehr! Beim WEB.DE Lottoservice: http://tippen2.web.de/?x=13
Hi there,>> > How do you tell the kernel the root FS? >> I have: >> In /tftpboot/pxelinux.cfg/default >> default linux root=/dev/nfs nfsaddrs=192.168.1.1:192.168.1.1:192.168.1.1:255.255.255.0:netserver:eth0 nfsroot=192.168.1.1:/netboot/base >> where netboot/base is where root for client system begins.>I have several pxelinux servers set up. here's part of the config >for one of them.>LABEL linux > KERNEL pxe-vmlinuz > APPEND root=/dev/nfs ip=dhcp nfsroot=192.168.99.1:/tftpboot/commonroot/IT WORK'S!! It was indeed my pxelinux configuration file that was failing. I took the above and adapted it to mine settings, and the directory gets mounted by the client. It won't do much beyond that since I haven't adapted the client's root directory not yet. I start at that now. Thank you very much Josef and Jim. Rob