[arch-projects] [PATCH] [RFC][mkinitcpio] Cleanly stop udev >= 168 as recommended by upstream.

Dave Reisner d at falconindy.com
Sun May 1 22:21:24 EDT 2011


On Mon, May 02, 2011 at 04:11:08AM +0200, Seblu wrote:
> On Sat, Apr 30, 2011 at 10:47 PM, Gerardo Exequiel Pozzi
> <vmlinuz386 at yahoo.com.ar> wrote:
> > N0: udev >= 168 is needed.
> > N1: I guess the order is correct (first cleanup then exit).
> > N2: device-mapper/LVM udev rules must be parsed for initramfs creation
> >    to add OPTIONS+="db_persist"
> >
> > From udev NEWS:
> > The running udev daemon can now cleanly shut down with:
> >  udevadm control --exit
> >
> > Udev in initramfs should clean the state of the udev database
> > with: udevadm info --cleanup-db which will remove all state left
> > behind from events/rules in initramfs. If initramfs uses
> > --cleanup-db and device-mapper/LVM, the rules in initramfs need
> > to add OPTIONS+="db_persist" for all dm devices. This will
> > prevent removal of the udev database for these devices.
> >
> > Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386 at yahoo.com.ar>
> > ---
> >  init |   13 ++++---------
> >  1 files changed, 4 insertions(+), 9 deletions(-)
> >
> > diff --git a/init b/init
> > index 7b81a1a..a2c6c8a 100644
> > --- a/init
> > +++ b/init
> > @@ -118,15 +118,10 @@ elif [ ! -x "/new_root${init}" ]; then
> >     launch_interactive_shell --exec
> >  fi
> >
> > -#Special handling if udev is running
> > -udevpid=$(/bin/pidof udevd)
> > -if [ -n "${udevpid}" ]; then
> > -    # Settle pending uevents, then kill udev
> > -    /sbin/udevadm settle
> > -    /bin/kill ${udevpid} > /dev/null 2>&1
> > -    while /bin/pidof udevd >/dev/null; do
> > -        sleep 0.1
> > -    done
> > +# Stop udevd if is running
> > +if [ "${udevd_running}" -eq 1 ]; then
> Hi Gerardo,
> 
> You should use bash style as much as possible.
> 

But this isn't a bash environment. It's busybox ash.

dave


More information about the arch-projects mailing list