diff options
Diffstat (limited to 'zarb-ml/mageia-dev/2012-May/015217.html')
-rw-r--r-- | zarb-ml/mageia-dev/2012-May/015217.html | 225 |
1 files changed, 225 insertions, 0 deletions
diff --git a/zarb-ml/mageia-dev/2012-May/015217.html b/zarb-ml/mageia-dev/2012-May/015217.html new file mode 100644 index 000000000..e81312215 --- /dev/null +++ b/zarb-ml/mageia-dev/2012-May/015217.html @@ -0,0 +1,225 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN"> +<HTML> + <HEAD> + <TITLE> [Mageia-dev] [soft-commits] [4379] fix shutting down + </TITLE> + <LINK REL="Index" HREF="index.html" > + <LINK REL="made" HREF="mailto:mageia-dev%40mageia.org?Subject=Re%3A%20%5BMageia-dev%5D%20%5Bsoft-commits%5D%20%5B4379%5D%20fix%20shutting%20down&In-Reply-To=%3C4FA26258.1070107%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="015214.html"> + <LINK REL="Next" HREF="015204.html"> + </HEAD> + <BODY BGCOLOR="#ffffff"> + <H1>[Mageia-dev] [soft-commits] [4379] fix shutting down</H1> + <B>Colin Guthrie</B> + <A HREF="mailto:mageia-dev%40mageia.org?Subject=Re%3A%20%5BMageia-dev%5D%20%5Bsoft-commits%5D%20%5B4379%5D%20fix%20shutting%20down&In-Reply-To=%3C4FA26258.1070107%40colin.guthr.ie%3E" + TITLE="[Mageia-dev] [soft-commits] [4379] fix shutting down">mageia at colin.guthr.ie + </A><BR> + <I>Thu May 3 12:47:52 CEST 2012</I> + <P><UL> + <LI>Previous message: <A HREF="015214.html">[Mageia-dev] [soft-commits] [4379] fix shutting down +</A></li> + <LI>Next message: <A HREF="015204.html">[Mageia-dev] freeze push: kadu 0.11.3 +</A></li> + <LI> <B>Messages sorted by:</B> + <a href="date.html#15217">[ date ]</a> + <a href="thread.html#15217">[ thread ]</a> + <a href="subject.html#15217">[ subject ]</a> + <a href="author.html#15217">[ author ]</a> + </LI> + </UL> + <HR> +<!--beginarticle--> +<PRE>'Twas brillig, and Thomas Backlund at 03/05/12 10:45 did gyre and gimble: +><i> Colin Guthrie skrev 3.5.2012 12:33: +</I>>><i> 'Twas brillig, and Thierry Vignaud at 03/05/12 09:05 did gyre and gimble: +</I>>>><i> On 3 May 2012 09:53, Guillaume Rousse<<A HREF="https://www.mageia.org/mailman/listinfo/mageia-dev">guillomovitch at gmail.com</A>> wrote: +</I>>>>>><i> please use system("/usr/bin/chvt", "1"), or system(qw(/usr/bin/chvt +</I>>>>>><i> 1)) +</I>>>>>><i> instead in order to not fork useless shells. +</I>>>>><i> +</I>>>>><i> and kill is a perl builtin perl too: +</I>>>>><i> kill SIGRTMAX-10, 1 +</I>>>><i> +</I>>>><i> needs 'use POSIX;' though for symbolic values +</I>>><i> +</I>>><i> Actually none of the above. Please do it in the systemd unit itself with +</I>>><i> ExecStartPre as this actually fixes the issues, whereas the internal +</I>>><i> approach does not (at least in my tests) :) +</I>>><i> +</I>><i> +</I>><i> It seemed to work in vbox, but I'll retest the isos currently building +</I> +Ahh OK. I coudln't make it work in my vbox when doing it in the script, +but if it worked for you then it's probably fine. + +>><i> In actual fact, this shut down script could be something that the +</I>>><i> mgalive dracut module drops into /run/systemd/systemd. This would +</I>>><i> prevent any poking at the installed file system and maybe allows for +</I>>><i> easier hacking - i.e. no need to actually edit the squashfs filesystem +</I>>><i> to tweak certain things. +</I>>><i> +</I>><i> +</I>><i> What/how should this look like ? +</I> +Basically the dracut module would add some kind hook that gets run +during the boot phase that would copy a unit file and a script to the +/run tree (/run/systemd/system/ folder) + +This unit file could be called halt-local.service as this would override +the one in /lib/systemd/system/ folder of the installed system. The +dracut hook would also copy the script needed (i.e. the current +/sbin/halt.local) to somewhere in the run tree (I suggest +/run/mageia/live-halt or a similarly descriptive name) and the unit +copied previously would simply refer to it in it's ExecStart= line +rather than /sbin/halt.local. + +I'm still not totally sure how the live CD's are built, but this may +make tweaking the images more easy than rebuilding the whole squashfs image? + +Ping me on IRC if you want to discuss it further or if you want to to +make a change somewhere - tho' you'll need to point me at where to make +the change! :) + + + +As a slightly more radical approach, dracut is also designed to allow a +pivot back into the initrd on shutdown/reboot. + +It does so via these systemd files in the dracut package: +/lib/systemd/system/dracut-shutdown.service +/lib/systemd/system/reboot.target.wants/dracut-shutdown.service +/lib/systemd/system/shutdown.target.wants/dracut-shutdown.service + +and this script: +/usr/lib/dracut/dracut-initramfs-restore + +The key systemd file is the first one, the other two are just symlinks +to ensure it's run when needed. + +The script itself is pretty simple and somewhat ugly (also it only +supports gziped initrds at present - although that should be trivial to +fix) and relies on naming conventions for initrds as there is no way to +know which initrd the current boot used AFAIK. I've suggest a workaround +for both to Harald upstream (short version ship these scripts inside +initrd and put them in /run too - use the name of the initrd passed on +dracut command line and you know the compression format used, so you +also know how to decompress - still not perfect but still a bit better IMO). + +Anyway, this allows the initrd continue and there are late hooks we can +put into our custom dracut module to deal with the whole ejecting stuff. +Obviously anything needed to do this would have to be included in the +initramfs (so I don't think the current perl implementation is wise :p) + +Anyway, this is more food for thought than practical suggestions at this +stage - one to think about tho' :) + +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="015214.html">[Mageia-dev] [soft-commits] [4379] fix shutting down +</A></li> + <LI>Next message: <A HREF="015204.html">[Mageia-dev] freeze push: kadu 0.11.3 +</A></li> + <LI> <B>Messages sorted by:</B> + <a href="date.html#15217">[ date ]</a> + <a href="thread.html#15217">[ thread ]</a> + <a href="subject.html#15217">[ subject ]</a> + <a href="author.html#15217">[ 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> |