[arch-projects] [PATCH] shutdown: add a shutdown hook
Dave Reisner
d at falconindy.com
Fri Jul 22 09:31:23 EDT 2011
On Fri, Jul 22, 2011 at 03:10:58PM +0200, Tom Gundersen wrote:
> On Fri, Jul 22, 2011 at 2:58 PM, Tom Gundersen <teg at jklm.no> wrote:
> > On Fri, Jul 22, 2011 at 1:45 PM, Tom Gundersen <teg at jklm.no> wrote:
> >> Enabling the shutdown hook and using systemd v31
> >> (which is yet to be released), means that on shutdown the root
> >> will be pivoted to /run/initramfs, from where the rootfs and
> >> all its submonuts (such as /usr) are unmounted cleanly.
> >
> > Looks like I made a mistake. This only works with busybox from
> > [community], not with mkinitcpio-busybox from [core].
> >
> > It looks like there are two problematic differences: our busybox does
> > not come with "tr", and the --install function creates symlinkes to
> > /bin/busybox, rather than to the calling binary
> > (/run/initramfs/bin/busybox, in this case).
>
> Looks easy to fix. Any objections to changing the mkinitrd-busybox config
> from:
> CONFIG_BUSYBOX_EXEC_PATH="/bin/busybox"
> # CONFIG_TR is not set
> to:
> CONFIG_BUSYBOX_EXEC_PATH="/proc/self/exe"
> CONFIG_TR=y
>
> When busybox is installed in the initramfs, we have /proc/self/exe ->
> /bin/busybox, so it should not make a difference (though, I have not
> actually tried, will do later).
>
> Cheers,
>
> Tom
I object. The usage of tr isn't necessary in your pipeline. You can
remove it and everything will still just work. Furthermore....
umount $(mount | awk '
$3 ~ /^\/oldroot/ {
umount[NR] = $3;
}
END { for (i = NR; i >= 0; i--) {
if (umount[i]) {
umount[i]
}
}')
How does busybox behave with the exec path as /proc/self/exe prior to
/proc being mounted?
d
More information about the arch-projects
mailing list