Hi Alexis, Alexis Huxley wrote:
> > ('ga010133vm3' is my test NFS root client. '134.171.27.236' is my NFS > root server.) > > root mounted three times! > ------------------------- > > ga010133vm3# df Check in /proc/mounts what is really mounted, entries in /etc/mtab are not always identical. > Filesystem 1K-blocks Used Available Use% Mounted > on > rootfs 14721376 8549152 5424384 62% / This one is from your fstab, you may safely remove this fstab entry. > udev 10240 24 10216 1% /dev > 134.171.27.236:/diska/nfsroot 14721376 8549152 5424384 62% / Don't know where this comes from. > 134.171.27.236:/diska/nfsroot 14721376 8549152 5424384 62% > /dev/.static/dev This is a bind mount of /dev done done by udev. > tmpfs 128488 80 128408 1% /tmp > ga010133vm3# > > The first entry ('rootfs ...') I guess is the one added by the kernel > itself because of the parameters it sees on the command line, in turn > provided by the pxe.config file, but why isn't that root fs pivoted out > (or whatever it is that happens these days) as it mounts the desired > root fs 134.171.27.236:/diska/nfsroot on / ? You can add as many entries to /etc/mtab as you want, df and other tools will show nice things. Its only not necessarily the reality. > > I added 'noauto' to the entry for / in /etc/fstab but that makes Remove it if you want. > no difference at all, presumably because there is an explicit mount > request for / somewhere (initrd getting the root device off the kernel > command line maybe?) What is the "correct" fix? Presumably somehow > to tell the initrd to pivot it out a bit better? How do you mount you root directory at all, via initrd or via kernel command line. As I said above, before you begin to do crazy things, first check /proc/mounts. > > The second entry is the correct one. > > The third entry I presume is being put there as udev moved what it > sees as /dev out of place before it mounts its own fs there. Though > my non NFS-root Debian machines don't have this! Check /poc/mounts again. > > Because of the dependencies for the stock Debian kernels, I cannot > uninstall udev, but I think it would make no difference even if I > did because it looks like udev is in the initrd image, so even when > I specify: > > ga010133vm3# grep static /etc/udev/udev.conf > no_static_dev="true" > ga010133vm3# > > Byt it makes no difference: the nfsroot is still mounted on > /dev/.static/dev. Don't know, might be an udev bug. Whats your problem with this bind mount? > > What's going on? What is the "Debian way" to get root mounted > three times? Like I said I want to stick with stock kernels, and Its not mounted 3 times. > > /dev/null does not exist when sshd starts > ----------------------------------------- Why don't you post this in another thread? > > ga010133vm3# sshd > ga010133vm3# pgrep sshd > ga010133vm3# grep daemon /var/log/syslog > Jan 11 18:22:44 ga010133vm3 sshd[1411]: fatal: daemon() failed: No such > device ga010133vm3# > > A google of this error message showed that sshd died because /dev/null > did not exist, and a look around /etc/init.d turned up this in udev: > > # When modifying this script, do not forget that between the time that > # the new /dev has been mounted and udevtrigger has been run there will be > # no /dev/null. This also means that you cannot use the "&" shell command. > > which seems to suggest udev is not behaving very well in this > environment. We have seen this too, udev of Debian Sarge? > > DHCP not passing hostname? > -------------------------- Again, another thread, please. > > I'm using dhcp3 as the client and as the server. I see that if > 'auto eth0' is in /etc/network/interfaces then there is the network > connection is lost (presumably NIC downed) prior to the call for > an IP address, and since / is NFS mounted at that point things go > quickly wrong. Why don't you take eth0 out of your /etc/network/interfaces? Its already configured by the kernel or your initrd, so why configuring it by Debian again? > > But ifup also thinks that the NIC is not up yet; for purely cosmetic > reasons it would be nice if it understood it was up. One fix would be > to hack its state file, but nicer seemed to add 'script "/bin/true";' > to /etc/dhcp3/dhclient.conf so that the call to dhclient is a > no-op. This works fine. > > Prior to doing that, I set the script to be a one liner: > > #!/bin/sh > env >> /tmp/log > > I did this in order to see if I could modify /etc/init.d/hostname.sh > to use information provided by the DHCP to set the hostname; using > /etc/hostname to set the hostname would mean that I could not let a > second client mount the same NFS root filesystem. But oddly I did > not see any hostname in the log file; I see a lot of other stuff: > IPs, gateways, DNS servers, but no hostname. I'm too tired to read through this, but you might be interested in this howto: http://www.pci.uni-heidelberg.de/tc/usr/bernd/downloads/nfs-root-howto/ > > In the end I modified the hostname.sh to include: > > HOSTNAME=$(/usr/bin/host $(ifconfig eth0 | sed -n 's/.*inet addr:\([^ > ]*\).*/\1/p') | sed -n 's/.* pointer \([^\.]*\).*/\1/p') > > I.e. to look its own IP up in DNS and get its own hostname that way. > > But it ought to be possible to set it from info recieved via > DHCP; either the call the kernel makes because of its 'ip=dhcp' Check the linuxrc file in my howto, I took it from the LTSP project, should work for you, too. Cheers, Bernd -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]