Re: 5.3Beta7: diskless boot, has someone succeeded?

From: Rob <spamrefuse_at_yahoo.com>
Date: Fri, 15 Oct 2004 23:59:03 +0900
Ryan Sommers wrote:
 > spam maps said:
 >
 >>   # rpcinfo -s 192.168.123.254
 >>   program version(s) netid(s)  service   owner
 >>    100000  2,3,4  local,udp6,tcp6,udp,tcp  rpcbind
 >>        superuser
 >>    100005  3,1    tcp6,udp6,tcp,udp        mountd
 >>        superuser
 >
 >
 > Are you sure you have NFS running on the NFS server? If I'm not mistaken
 > there should be an nfs service registered as well.
 >
 >
 > Be sure your NFS server has:
 >
 > nfs_server_enable="YES"
 >
 > in /etc/rc.conf and you have compiled a kernel with:
 >
 > options         NFSSERVER

OK, thanks. This NFSSERVER option was not there.
I have recompiled everything, and tried again. It still
does not work; I hope you have a few spare minutes to
follow my reasoning below.

I have two PCs:
  1) the master for the diskless boot is also the router for
     for my private network: IP 192.168.123.254.
  2) the "client" with (private) IP 192.168.123.1 at present
     does have a harddisk (so can boot from there too), but
     eventually I want this PC to become the diskless one.

In short:
The diskless client boots from floppy, it loads the kernel
and mounts root from the master. The lan-card of the client
seems to work, since I can ping 192.168.123.1.

Although also /usr and /home should be mounted by the client,
this is not happening; somehow the scripts from mounted root
directory do not continue properly.
How can I investigate further?

-----------------------------------

The long version of my problem is here:

During the boot process of the master, I get:
   [...]
   Starting sshd.
   Starting sendmail.
   Oct 15 22:49:01 master rpcbind: connect from ::1 to
                   getport/addr(status): request from unauthorized host
   Oct 15 22:49:01 master rpc.lockd: 100024 RPC: Port mapper failure
   Oct 15 22:49:01 master rpcbind: connect from 127.0.0.1 to
                   getport/addr(status): request from unauthorized host
   Initial i386 initialization:.
   Additional ABI support:.
   Starting cron.
   [...]

Do I have to worry about these rpcbind/rpc.lockd messages?
Assuming these are not critical, I proceed.

I seem to have configured the master/192.168.123.254 appropriate,
which I test with the harddisk-boot from the client/192.168.123.1:

client# bootptest 192.168.123.254
  bootptest: version 2.4.3
  Sending to 192.168.123.254 (request) htype:0 hlen:0 xid:480
  C:192.168.123.1 vend-rfc1395
  Recvd from 192.168.123.254 (reply) htype:0 hlen:0 xid:480
  C:192.168.123.1 S:192.168.123.254 sname:"master.snu.ac.kr"
  file:"//boot/kernel/kernel" vend-rfc1395 SM:255.255.255.0
  GW:192.168.123.254 ROOT:"192.168.123.254:/tftpboot" HN:"client"

client# rpcinfo -s 192.168.123.254
    program version(s) netid(s)             service  owner
     100000 2,3,4   local,udp6,tcp6,udp,tcp rpcbind  superuser
     100005 3,1     tcp6,udp6,tcp,udp       mountd   superuser
     100003 3,2     tcp6,tcp,udp6,udp       nfs      superuser
     100024 1       tcp,tcp6,udp,udp6       status   superuser
     100021 4,3,1,0 tcp6,udp6,tcp,udp       nlockmgr superuser

client# mount_nfs 192.168.123.254:/tftpboot /mnt/m1
client# mount_nfs 192.168.123.254:/usr /mnt/m2
client# mount_nfs 192.168.123.254:/home /mnt/m3
client# showmount -a 192.168.123.254
  All mount points on 192.168.123.254:
  client:/home
  client:/tftpboot
  client:/usr

                    --------------

At this stage, I believe bootpd, NFS and corresponding mounting
should work properly. So I rebooted the client with the diskless
bootup floppy (created from etherboot port). It boots over the
serial port:

  ROM segment 0x0000 length 0x0000 reloc 0x00020000
  Etherboot 5.2.4 (GPL) http://etherboot.org Tagged ELF (FreeBSD)
  a.out for [RTL8139]
  Relocating _text from: [00010070,00023200) to [01eece70,01f00000)
  Probing pci nic...k or (Q)uit?
  [rtl8139] - ioaddr 0X6000, addr 00:A0:B0:0E:3A:95 100Mbps full-duplex
  Searching for server (DHCP)...
  .Me: 192.168.123.1, Server: 192.168.123.254, Gateway 192.168.123.254
  Loading 192.168.123.254://boot/kernel/kernel ..(ELF/FreeBSD)...
  ...............................................................
  ...............................................................
  [...snip...]
  ...............................................................
  ................done

Then nothing happens anymore.
At this stage, I can ping the client from the master:

master# ping 192.168.123.1
  PING 192.168.123.1 (192.168.123.1): 56 data bytes
  64 bytes from 192.168.123.1: icmp_seq=0 ttl=64 time=1.733 ms
  64 bytes from 192.168.123.1: icmp_seq=1 ttl=64 time=0.471 ms

On the master, I can verify only one mount:

master# showmount -a 192.168.123.254
  All mount points on 192.168.123.254:
  client:/tftpboot

                        --------------

So the kernel is loaded and root partition (/tftpboot) mounted.
But that seems to be all that has happened.

I suspect a problem with the initdiskless script in
/tftpboot/etc/rc.d on the master, so I have put a 'echo'
statement at the top of that file, but that is not printed
at all.

Any idea where it could be hanging?
Any ideas how I can further investigate this?

Thanks,
Rob.
Received on Fri Oct 15 2004 - 12:59:10 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:17 UTC