On Tue, Jul 01, 2008 at 08:28:52PM +0200, Reinhard Tartler wrote:
David Härdeman <[EMAIL PROTECTED]> writes:

initramfs-tools already has a rootdelay parameter which is executed
before the cryptsetup initramfs script. What is the advantage of
duplicating that functionality?

the rootdelay parameter makes the initramfs loop until the root device
appears. It does not help the cryptsetup hook in any way.

Well, unless my memory serves me wrong, it does....with a rootdelay=5,
initramfs-tools will sleep 5 secs extra before cryptsetup gets a chance
of executing which might be enough for the USB device to show up.

Looking at the code:
...
I fear your memory indeed does serve you wrong :(

I think you missed /usr/share/initramfs-tools/scripts/init-premount/udev

Do you see a better way solving the problem?

Yes, teach initramfs-tools to take a path as an argument to rootdelay
and make it wait until that path appears.

If you can make the initramfs-tools maintainer refactor the code I cited
above as a function and usable for cryptsetup, I'd agree with you.

I don't think a rootdelay in cryptsetup is very satisfactory. There are already two rootdelays, one before the cryptsetup script and one after it. Adding a third will help in a quite limited way:

a) Assume crypto-usb-stick takes 10 seconds to show up

b) root= will be set to something which udev won't find

c) rootdelay= is set

Situation A - rootdelay < 10 secs

        udev times out, cryptsetup fails

Situation B - rootdelay > 10 secs

        udev times out, cryptsetup works

d) With an additional rootdelay in cryptsetup

Situation C - rootdelay < 5 secs

        udev + cryptsetup times out, cryptsetup fails

Situation D - rootdelay > 5 secs, rootdelay < 10 secs

        udev times out, cryptsetup waits minimum time, cryptsetup works

Situation E - rootdelay > 10 secs

        udev times out, cryptsetup works


So you see..the patch saves a few seconds max...and the user still has to pick an optimal rootdelay time...

--
David Härdeman



--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to