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

Re: readonly NFS root: udev means can't use stock kernel? (long)



>> root mounted three times!
>> -------------------------
>> 
>> ga010133vm3# df
>
> Check in /proc/mounts what is really mounted, entries in /etc/mtab are not
> always identical.

Ah ... I forgot to say I symlinked /etc/mtab to /proc/mounts.

>> 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.

After some thought I assumed this the one caused by mounting the root
filesystem over NFS from the *kernel* boot parameters, and that ...

>> udev                              10240        24     10216   1% /dev
>> 134.171.27.236:/diska/nfsroot  14721376   8549152   5424384  62% /
>
> Don't know where this comes from.

... *this* was the one from /etc/fstab.

>> 134.171.27.236:/diska/nfsroot  14721376   8549152   5424384  62%
>> /dev/.static/dev
>
> This is a bind mount of /dev done done by udev.

Okay, yes. I also tried adding this no_static_mount (or whatever the
option:

>> no_static_dev="true"

to /etc/udev/udev.conf, but then later realised that since something in
initrd is starting udev, my putting it in 134.171.27.236:/diska/nfsroot/etc/udev/udev.conf
clearly has no effect.

>> I added 'noauto' to the entry for / in /etc/fstab but that makes
>
> Remove it if you want.

I did, but of course it is still mounted - I expect because / is not
mounted with 'mount -a' but rather with an explicit 'mount /' from
somewhere inside the initrd. But ...

... then the thing that had previously been used as the root fs
("rootfs ... /" I presume) should have been pivoted out but hasn't
been. I'm wondering if there is some bug in the initrd script which
mounts the final desired rootfs, that means when you 'transfer'
from what initrd had used as rootfs to what fstab says should be
rootfs *and* that is not a local disk then it fails to correctly
get rid of the first rootfs, hence the double mounting. 

>> The second entry is the correct one.

I agree; but why isn't the first entry going away?

>> 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?

Ok, so the reason this doesn't go away is clear; I added the
no_static_dev setting to the NFS root's udev.conf, not to the
initrd's udev.conf. I tried unpacking (zcat | cpio) the initrd,
and fixing the problem, but I didn't manage to pack it up again
(cpio | gzip) without booting choking on it.

My problem with this bind mounting is (a) it simply shouldn't be
there, (b) ...

>> /dev/null does not exist when sshd starts
>> -----------------------------------------
>
> Why don't you post this in another thread?

... there is a comment in udev's init.d script mentioning a time window
in which /dev/null will not exist. This may be unrelated to the first
problem but (a) root being mounted three times including by udev and (b)
two things not being unmounted when they should be including something
by udev seems too much of a coincidence. 

>> # 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?

Ah ... reassuring! No, it's testing from about a week ago. (Am at home
now so can't post the version number, but really no more than a week old.)

>> DHCP not passing hostname?
>> --------------------------
>
> Again, another thread, please.

Ack. I'll drop this for the moment; I have a solution that works reasonably
well and is compliant with the stock networking scripts.

Thanks for the ideas!

Alexis



Reply to: