[Pkg-sysvinit-devel] Bug#497575: initscripts: /etc/rcS.d/S30checkfs.sh starts very soon
Noel David Torres Taño
envite at rolamasao.org
Wed Sep 3 09:24:57 UTC 2008
tags 497575 + patch
thanks
El Wednesday 03 September 2008 10:04:50 Sven Joachim escribió:
> forcemerge 386006 497575
> thanks
>
> The problem is not new, it has already been reported in #386006, as well
> as several times in Ubuntu:
>
> https://bugs.launchpad.net/ubuntu/+source/sysvinit/+bug/40722
> https://bugs.launchpad.net/ubuntu/+source/udev/+bug/47850
> https://bugs.launchpad.net/ubuntu/+source/sysvinit/+bug/118397
> https://bugs.launchpad.net/ubuntu/+source/sysvinit/+bug/182616
>
> On 2008-09-02 22:23 +0200, Noel David Torres Taño wrote:
>
> > I think the best solution is to check if there are devices being connected, maybe asking udev or udevd, but I do not know how to do it, and delay until then.
>
> You can try to play around with this, but I highly doubt it would work,
> since it's the kernel that has not yet detected the device. Actually, I
> added a line with `udevadm settle' to checkfs.sh, and it had no
> effect -- the USB memory stick that I plugged in before the reboot was
> only recognized a few seconds after checkfs.sh had run.
>
> > Maybe checking specifically if any system to be checked is being connected.
>
> The only real solution to this may be an event-based init system, like
> upstart that is used in Ubuntu and Fedora. There's also a Debian
> package in experimental if you're feeling adventurous.
>
> Sven
>
I readed all the headlines that reportbug showed me and didn't saw that, but I'm happy it's a known issue being worked on and am sad that it is a nearly unresolvable issue at today's date.
What about this?
--- checkfs.sh.original 2008-09-02 21:45:40.000000000 +0200
+++ checkfs.sh 2008-09-03 11:22:41.000000000 +0200
@@ -34,6 +34,16 @@
fi
#
+ # Wait for the system to settle if the user wants to
+ #
+ if [ -f /etc/checkfs-wait ]
+ then
+ log_action_begin_msg "Waiting for the external file systems to settle as requested"
+ source /etc/checkfs-wait
+ log_action_end_msg $?
+ fi
+
+ #
# Check the rest of the file systems.
#
if [ ! -f /fastboot ] && [ ! "$BAT" ] && [ "$FSCKTYPES" != "none" ]
--- /dev/null 2008-09-02 20:47:33.502628617 +0200
+++ /usr/share/doc/initscripts/checkfs-wait.example.TO-BE-SHIPPED 2008-09-03 11:17:28.000000000 +0200
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+# Use this file if your system boot uses to miss some external disk at filesystem check time
+# For it to work copy it to /etc/checkfs-wait
+
+/bin/sleep 5
Thanks
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: This is a digitally signed message part.
Url : http://lists.alioth.debian.org/pipermail/pkg-sysvinit-devel/attachments/20080903/5b24eb69/attachment-0001.pgp
More information about the Pkg-sysvinit-devel
mailing list