Re: Keep initrd tasks running?

From: Jeff Bailey
Date: Tue Oct 18 2005 - 14:36:33 EST


Le mardi 18 octobre 2005 Ã 15:13 -0400, John Richard Moser a Ãcrit :
> I have no idea who's the best to ask for this.
>
> I want to start a task in an initrd and have it stay running after init
> is started. Pretty much:

> What's the feasibility of this without the system balking and vomiting
> chunks everywhere? I'm pretty sure 'exec /sbin/init' from linuxrc
> (PID=1) will replace the process image of sh (linuxrc) with init,
> keeping PID=1; but I'm worried this may terminate children too. Haven't
> tried.

This is much more easily supported in Breezy. usplash is started at the
top of the initramfs (from the init-top hook) and lives until we start
gdm.

The biggest constraint is that you don't have write access to the target
root filesystem (since it's mounted readonly). However, /dev is a tmpfs
that is move mounted to the new root system. If you need to have
sockets open or store data, you can use that. usplash does this for its
socket.

Note that the initramfs startup sequence isn't at all similar to the old
initrd startups. It should be easy for you to cleanly add what you want
under /etc/mkinitramfs/scripts and not have to modify the
initramfs-tools package. /usr/share/doc/initramfs-tools/HACKING
contains some starter information.

Hope this helps!

Tks,
Jeff Bailey



-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/