Re: linux-2.6_2.6.38-5_m68k.changes ACCEPTED
On 15/05/2011, at 5:40 AM, Thorsten Glaser wrote:
another thing – can we have CONFIG_DEVTMPFS_MOUNT=y on m68k?
While udev works, it doesn’t work pleasurably and delays booting
by several minutes on the fastest VMs, which end up having a load
of >20 when one can finally log in, and except for a symlink in
/dev/fd things work without it; waldi said that, normally, the
initramfs is supposed to mount devtmpfs, but as m68k doesn’t have
one (and klibc doesn’t work on it yet, although I’ve made some
progress with that too, but even then I’m not certain whether
all bootloaders used support initrd) I was wondering if we can’t
enable this in the kernel.
At the moment, precisely half of my VMs boot without udev and
with devtmpfs.mount=1 on the kernel command line.
Oddly I've had a similar conversation with Finn Thain. When we were
working on Debugging the 2.6.37 kernels I had. Here's his solution to
creating a static /dev from the devtmpfs.
On 21/03/2011, at 5:23 PM, Finn Thain wrote:
The other problem (as I mentioned) is that udev doesn't seem to be
Now, you can compile a recent kernel so that the kernel automatically
mounts a devtmpfs pseudo filesystem on /dev. Or you can get udev
which is supposed to start at boot time and mount a tmpfs psuedo
filesystem on /dev and populate it with the necessary device nodes.
But it is much more robust if you don't depend on those mechanisms
that's why the installer populates /dev). For robustness, you need a
static /dev on the root filesystem (not just a dynamic one on a pseudo
filesystem mounted at /dev).
There's a number of solutions to this problem that don't involve new
kernels. One way to do it is to copy the device nodes from devtmpfs
root filesystem as follows.
First, make sure nothing is mounted on /dev; i.e. if you are going to
work on /dev, you need to know that /dev is the root filesystem and
some pseudo fs.
# df / /dev
Once you've confirmed that / and /dev are the same fs, you can do
# mkdir /mnt
# mount -t devtmpfs none /mnt
# tar -C /mnt -c null console zero tty* sd* rtc* random urandom |
tar -C /dev -x
# umount /mnt
# mkdir /dev/pts /dev/shm
+61 408 172 142