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

neboot/diskless nfs mount sequence



During the boot of my diskless node, the node correctly receives its dhcp information, and now correctly downloads the bootImage (thanks guys). At this point the node states:
Uncompressing linux... Ok, booting the kernel
and then hangs.

Looking at the diskless server logs, i can see that the node has mounted one of the shares successfully:
Jun 23 21:46:05 otaku mountd[6392]: NFS mount of /var/lib/diskless/default/root/ boot attempted from 10.10.0.12
Jun 23 21:46:05 otaku mountd[6392]: /var/lib/diskless/default/root/boot has been mounted by 10.10.0.12

And examining the packets running across the network, it looks like once the node has mounted this share, it is looking for some file or directory that does not exist. tcpdump says:
21:58:27.796483 10.10.0.12.62962294 > 10.10.0.200.nfs: 104 getattr [|nfs] (DF)
21:58:27.797120 10.10.0.200.nfs > 10.10.0.12.62962294: reply ok 96 getattr DIR 40755 ids 0/0 sz 4096 (DF)
21:58:27.797731 10.10.0.12.79739510 > 10.10.0.200.nfs: 104 fsstat [|nfs] (DF)
21:58:27.798066 10.10.0.200.nfs > 10.10.0.12.79739510: reply ok 48 fsstat tsize 8192 bsize 512 blocks 7207072 bfree 5524544 bavail 5158440 (DF)
21:58:27.799422 10.10.0.12.96516726 > 10.10.0.200.nfs: 112 lookup [|nfs] (DF)
21:58:27.799731 10.10.0.200.nfs > 10.10.0.12.96516726: reply ok 28 lookup ERROR: No such file or directory (DF)
21:58:27.800331 10.10.0.12.113293942 > 10.10.0.200.nfs: 112 lookup [|nfs] (DF)
21:58:27.800650 10.10.0.200.nfs > 10.10.0.12.113293942: reply ok 28 lookup ERROR: No such file or directory (DF)
21:58:27.801173 10.10.0.12.130071158 > 10.10.0.200.nfs: 112 lookup [|nfs] (DF)
21:58:27.801476 10.10.0.200.nfs > 10.10.0.12.130071158: reply ok 28 lookup ERROR: No such file or directory (DF)
21:58:27.801988 10.10.0.12.146848374 > 10.10.0.200.nfs: 112 lookup [|nfs] (DF)
21:58:27.802288 10.10.0.200.nfs > 10.10.0.12.146848374: reply ok 28 lookup ERROR: No such file or directory (DF)


I've made sure that my export file is based on the example files in the image and host ip diskless directories (though i had to do some editing as they are of a different syntax than what the nfs server is expecting). The exports file looks like this:
/var/lib/diskless/default/root 10.10.0.0/24(rw,no_root_squash)
/home 10.10.0.12(rw,no_root_squash)
/var/lib/diskless/default/10.10.0.12/etc 10.10.0.12(rw,no_root_squash)
/var/lib/diskless/default/10.10.0.12/var 10.10.0.12(rw,no_root_squash)
/var/lib/diskless/default/10.10.0.12/dev 10.10.0.12(rw,no_root_squash)
/var/lib/diskless/default/10.10.0.12/tmp 10.10.0.12(rw,no_root_squash)

but based on the packets, i think its looking for something in the mounted filesystem that is not there.

I'm not completely familiar with the linux boot process, diskless or otherwise, but looking through the <disklessroot>/boot/ directory, it seems to contain everything that the standard linux install on the server contains: (bootImage is the mknbi-linux output file)
-rw-r--r-- 1 root root 452581 Jun 17 19:37 System.map-2.4.16diskless
lrwxrwxrwx 1 root root 11 Jun 23 21:23 boot.b -> boot-menu.b
-rw-r--r-- 1 root root 880640 Jun 23 21:26 bootImage
-rw-r--r-- 1 root root 16268 Jun 17 19:15 config-2.4.16diskless
-rw-r--r-- 1 root root 875558 Jun 17 19:37 vmlinuz-2.4.16diskless


So here the question. Is there anyway to find out what file it is that the boot scripts are trying to access and can't? All i can find from the logs and packet information is that there is a file it can't find, but not what that file (or files) is. Alternatively, is there some script that is running from which i could glean this information? I've made sure that all the shares listed in the node fstab files are mountable and i've been looking through the rcx.d scripts, but no luck so far.

Thanks in advance,
-Matthew
Reply to: