This is an old revision of the document!
mountall
sigh .. all of this needs to be reworked.. more later.
When the system would boot up, /obj/cse would be mounted, /obj/home9, and /obj/home10, but nothing else. As it turns out, this is because of a bug in mountall. mountall mounts filesystems when the underlying block devices are ready, or when network interfaces come up, checking the filesystems first. When the system boots, and the network interface comes up, it calls /etc/init/mountall-net.conf which sends a SIGUSR1 to mountall. On its first attempt, mountall mounts /obj/cse but can't mount anything under /cse until /cse has been mounted. It can mount /obj/home9 and /obj/home10 because there are no other dependencies on a parent. After it mounts /obj/cse it should mount everything under it, but it only does this when it receives ANOTHER SIGUSR1 (which never comes). Furthermore, even if you send it a SIGUSR1, it won't mount everything because, for example, you need “local” to be mounted before you can mount “share”. The developer fixed the bug supposedly in Lucid (10.04), but did not bother fixing it in Karmic (9.10) for which we are basing our test environment! In the meantime, I came up with a “hacky” fix. In /etc/init, I added a file “mountall-net-hack.conf” containing:
dual problem… - odd time, mountall doesn't seem to mount nfs filesystems at all and goes away
- sends a SIGUSR1 every time network interface is mounted, but we only want it to try moutning NFS when say, tun0 is mounted - then we have the secondary problem that it doesn't handle the recursion well /cse/local under /cse
Bug report from Launchpad:
https://bugs.launchpad.net/ubuntu/+source/mountall/+bug/470776
To debug mountall, insert into /etc/init/mountall, on the “exec mountall” line, “–debug >/dev/mountall.log 2>&1
When the network interface comes up, the system sends SIGUSR1 to the mountall process (/etc/inet/mountall-net). This