summaryrefslogtreecommitdiffstats
path: root/zarb-ml/mageia-dev/2012-February/011709.html
diff options
context:
space:
mode:
Diffstat (limited to 'zarb-ml/mageia-dev/2012-February/011709.html')
-rw-r--r--zarb-ml/mageia-dev/2012-February/011709.html163
1 files changed, 163 insertions, 0 deletions
diff --git a/zarb-ml/mageia-dev/2012-February/011709.html b/zarb-ml/mageia-dev/2012-February/011709.html
new file mode 100644
index 000000000..325e7785e
--- /dev/null
+++ b/zarb-ml/mageia-dev/2012-February/011709.html
@@ -0,0 +1,163 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<HTML>
+ <HEAD>
+ <TITLE> [Mageia-dev] Issues with dracut
+ </TITLE>
+ <LINK REL="Index" HREF="index.html" >
+ <LINK REL="made" HREF="mailto:mageia-dev%40mageia.org?Subject=Re%3A%20%5BMageia-dev%5D%20Issues%20with%20dracut&In-Reply-To=%3C4F2C04AF.5050007%40colin.guthr.ie%3E">
+ <META NAME="robots" CONTENT="index,nofollow">
+ <META http-equiv="Content-Type" content="text/html; charset=us-ascii">
+ <LINK REL="Previous" HREF="011703.html">
+ <LINK REL="Next" HREF="011935.html">
+ </HEAD>
+ <BODY BGCOLOR="#ffffff">
+ <H1>[Mageia-dev] Issues with dracut</H1>
+ <B>Colin Guthrie</B>
+ <A HREF="mailto:mageia-dev%40mageia.org?Subject=Re%3A%20%5BMageia-dev%5D%20Issues%20with%20dracut&In-Reply-To=%3C4F2C04AF.5050007%40colin.guthr.ie%3E"
+ TITLE="[Mageia-dev] Issues with dracut">mageia at colin.guthr.ie
+ </A><BR>
+ <I>Fri Feb 3 17:00:47 CET 2012</I>
+ <P><UL>
+ <LI>Previous message: <A HREF="011703.html">[Mageia-dev] Issues with dracut
+</A></li>
+ <LI>Next message: <A HREF="011935.html">[Mageia-dev] Issues with dracut
+</A></li>
+ <LI> <B>Messages sorted by:</B>
+ <a href="date.html#11709">[ date ]</a>
+ <a href="thread.html#11709">[ thread ]</a>
+ <a href="subject.html#11709">[ subject ]</a>
+ <a href="author.html#11709">[ author ]</a>
+ </LI>
+ </UL>
+ <HR>
+<!--beginarticle-->
+<PRE>'Twas brillig, and David W. Hodgins at 03/02/12 08:04 did gyre and gimble:
+&gt;<i> On Tue, 17 Jan 2012 07:22:30 -0500, Colin Guthrie
+</I>&gt;<i> &lt;<A HREF="https://www.mageia.org/mailman/listinfo/mageia-dev">mageia at colin.guthr.ie</A>&gt; wrote:
+</I>&gt;<i>
+</I>&gt;&gt;<i> Are things working OK for you now with dracut or is it still busted?
+</I>&gt;<i>
+</I>&gt;<i> Just to clarify why I think the problem is happening on single
+</I>&gt;<i> core systems.
+</I>&gt;<i>
+</I>&gt;<i> On a multi-core system, the bash and udevd processes will be
+</I>&gt;<i> running on different cores.
+</I>&gt;<i> When the script executes the udev settle command, it continues
+</I>&gt;<i> to execute, so the loop checking to see if udev is done finds
+</I>&gt;<i> it isn't, so it then looks for/runs the initqueue jobs.
+</I>&gt;<i>
+</I>&gt;<i> On a single core system, the bash script waits for the settle
+</I>&gt;<i> command to finish, so then finds it's done, and exits without
+</I>&gt;<i> even trying to run the initqueue jobs.
+</I>&gt;<i>
+</I>&gt;<i> The patch in my prior message is effectively changing the script
+</I>&gt;<i> from &quot;udev done or jobs done&quot; to &quot;udev done and jobs done&quot;.
+</I>
+Hmm, actually thinking about this more, I'm not 100% sure I agree with
+this argument. The number of cores should be irrelevant here as the
+program itself should be dealing with things synchronously anyway.
+
+I'm wondering if it's more of an issue relating to the fact that it's
+not specifically waiting for the LVM device to be ready. I guess your /
+is either not on LVM or is in a different Volume Group? In my tests it
+worked, but perhaps the dual core machine is simply that bit faster (and
+it's speed, not #cores that is important)?
+
+In the file parse-lvm.sh, it does a for loop and has a wait_for_dev
+call. This function will put stuff into the initqueue that should
+prevent the exiting of the loop until that device exists...
+
+ for dev in $(getargs rd.lvm.vg rd_LVM_VG=) $(getargs rd.lvm.lv
+rd_LVM_LV=); do
+ wait_for_dev &quot;/dev/$dev&quot;
+ done
+
+Now according to the man page, these options are only meant to be used
+to restrict what devices are activated so they shouldn't be needed per-se.
+
+But it brings an important point... there does not appear to be any
+&quot;wait_for_dev&quot; calls for the usrmount module So nothing is going to be
+waiting for the device to exist. If it takes a little while to come up
+it could lead to your error.
+
+And herein we have chicken and egg... we don't know where /usr is (i.e.
+which /dev/foo) until we mount / (as we have to read /etc/fstab). But
+by the time we've mounted /, we've already exited this loop and thus
+cannot re-enter the loop to wait for more devices.
+
+Tricky, and certainly something I'll discuss with Harald this weekend.
+He does have a separate branch that deals with usr mounting in a more
+holistic way (i.e. it handles /usr/bin being a separate mount if that
+floats your boat!), but I've not looked at this for a while to see if
+he's progressed any with it.
+
+All in all, it's perhaps just the fact that the first call to udevadm
+settle is skipped due to there being nothing in your initqueue/finished/
+folder? You can check via passing rd.break=initqueue and looking in the
+folder.
+
+If so, then all that should be needed to get this into shape is to put a
+dummy file in there as part of the 98usrmount module, have that file
+delete itself and return and error code, thus causing check_finished()
+to return non zero and thus the call to udevsettle will be reached.
+
+
+If this is NOT the issue, then it should just be a timing thing plain
+and simple. To confirm, this you should simply be able to pass
+rd.break=pre-pivot to the command line, wait a little while and then
+just type exit to continue the boot process. This extra time should be
+sufficient for udev to &quot;see&quot; the LVM stuff and for the mount command to
+succeed (I hope!)
+
+Sorry for the long reply. You will likely have to poke in the dracut
+code to understand everything I'm saying, but it looks like you're doing
+that happily already :D
+
+Col
+
+
+
+--
+
+Colin Guthrie
+colin(at)mageia.org
+<A HREF="http://colin.guthr.ie/">http://colin.guthr.ie/</A>
+
+Day Job:
+ Tribalogic Limited <A HREF="http://www.tribalogic.net/">http://www.tribalogic.net/</A>
+Open Source:
+ Mageia Contributor <A HREF="http://www.mageia.org/">http://www.mageia.org/</A>
+ PulseAudio Hacker <A HREF="http://www.pulseaudio.org/">http://www.pulseaudio.org/</A>
+ Trac Hacker <A HREF="http://trac.edgewall.org/">http://trac.edgewall.org/</A>
+</PRE>
+
+
+
+
+
+
+
+
+
+
+
+<!--endarticle-->
+ <HR>
+ <P><UL>
+ <!--threads-->
+ <LI>Previous message: <A HREF="011703.html">[Mageia-dev] Issues with dracut
+</A></li>
+ <LI>Next message: <A HREF="011935.html">[Mageia-dev] Issues with dracut
+</A></li>
+ <LI> <B>Messages sorted by:</B>
+ <a href="date.html#11709">[ date ]</a>
+ <a href="thread.html#11709">[ thread ]</a>
+ <a href="subject.html#11709">[ subject ]</a>
+ <a href="author.html#11709">[ author ]</a>
+ </LI>
+ </UL>
+
+<hr>
+<a href="https://www.mageia.org/mailman/listinfo/mageia-dev">More information about the Mageia-dev
+mailing list</a><br>
+</body></html>