[arch-projects] [PATCH] shutdown: add a shutdown hook
Dave Reisner
d at falconindy.com
Fri Jul 22 10:04:05 EDT 2011
On Fri, Jul 22, 2011 at 09:31:23AM -0400, Dave Reisner wrote:
> 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]
Of course i meant 'print umount[i]' here.
> }
> }')
>
> 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