[PKG-OpenRC-Debian] OpenRC and cryptsetup

heroxbd at gentoo.org heroxbd at gentoo.org
Mon Mar 3 02:36:31 UTC 2014


Guys,

Thomas Goirand <zigo at debian.org> writes:

> On 03/02/2014 09:01 PM, Julian Wollrath wrote:
>
>> No, it does not work. It hangs while trying to start cryptdisks-early
>> but since it is not chatty I do not know the reason. The only (visible)
>> think sysv-rc does differently is activating the swap before starting
>> cryptdisks-early. Maybe OpenRC gets some dependency wrong, while trying
>> to solve dependency loops:
>>  * Found a solvable dependency loop: checkfs.sh p> checkfs n>
>> mountall.sh p> mountall u> hwclock.sh a> checkroot n> checkfs.sh.
>>  * Solving the loop by breaking mountall u> hwclock.sh.
>>  * Found a solvable dependency loop: checkfs.sh p> checkfs n>
>> mountall.sh p> mountall n> mountall-bootclean.sh p> mountall-bootclean
>> u> hwclock.sh a> checkroot n> checkfs.sh.
>>  * Solving the loop by breaking mountall-bootclean u> hwclock.sh.
>>  * Found a solvable dependency loop: cryptdisks a> umountfs u>
>> hwclock.sh a> checkroot n> cryptdisks-early a> lvm2 u> cryptdisks.
>>  * Found a solvable dependency loop: cryptdisks a> umountfs u>
>> hwclock.sh a> checkroot n> cryptdisks.
>>  * Found a solvable dependency loop: cryptdisks a> umountfs u>
>> hwclock.sh a> checkroot n> cryptdisks-early n> cryptdisks.
>>  * Solving the loop by breaking umountfs u> hwclock.sh.
>>  * Solving the loop by breaking lvm2 u> cryptdisks.
>> 
>> Do you have an idea, how to debug the problem or do you need more info?
>> 
>> Cheers,
>> Julian
>
> In /etc/rc.conf, there's a dependency loop switch. Can you try to set it
> to "NO", and tell if it works better?

This reflects a fundamental dependency problem for us. And cannot be
circumvented by turning off the dependency loop solver.

The first 2 loops are well-studied. While last 3 ones are nesty.

First of all, @xai, the loop can be solved by only breaking "umountfs u>
hwclock.sh". Breaking of "lvm2 u> cryptdisks" is unnecessary.

hwclock is screwed. It should be started before fsck, because the latter
needs a clock; It should be stoped before umount, because it needs to
write the clock offset to local disk. Our present method of breaking
dependency loops might fail in corner cases like this. We might need a
better solution here, leveraging the boot runlevel which we've never
been used.

Cheers,
Benda



More information about the OpenRC-devel mailing list