RE: /scripts/local: Waiting for root file system...
> > I've downloaded the snapshot:
> >
> http://git.debian.org/?p=kernel/initramfs-tools.git;a=snapshot;h=HEAD
> >
> > But I can' find it! There's no /scripts/init-premount/udev
> >
> > rootdelay is mentioned only in these files:
> > <snipp>
> >
> > Am I missing something?
>
> yup,
> each package shipps its own hooks. i-t is very modular by design.
> you have to check udev source the extra dir.
Thanks for pointer, I've found the described code in
http://ftp.debian.org/debian/pool/main/u/udev/udev_0.114-2.diff.gz
It should work but it doesn't seem "clean solution" to me
because originally rootdelay was used in /scripts/local
but now it's used also in init-premount/udev which
doubles the time user have to wait to be dropped into
initramfs shell (when no root is available).
The solution I'm proposing is cleaner and requires
less hand work for the end user. Here's the `diff -u`
(tested and working):
--- local.orig 2007-10-05 14:01:43.000000000 +0400
+++ local 2007-10-05 13:59:07.000000000 +0400
@@ -24,6 +24,12 @@
slumber=$(( ${slumber} * 10 ))
while [ ${slumber} -gt 0 ] && [ ! -e "${ROOT}" ]; do
+ if [ $(( ${slumber} % 99 )) -eq 0 ]; then
+ [ "$quiet" != "y" ] && log_begin_msg "Retrying
/scripts/local-top"
+ run_scripts /scripts/local-top
+ [ "$quiet" != "y" ] && log_end_msg
+ fi
+
/bin/sleep 0.1
slumber=$(( ${slumber} - 1 ))
done
If you'd like I can create a Bugzilla entry for this.
Petya.
Reply to: