summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Hentges <oe@hentges.net>2006-11-07 12:02:31 +0000
committerMatthias Hentges <oe@hentges.net>2006-11-07 12:02:31 +0000
commit3b7d18f95dbaaca9faa1ffcc9a780431e7351902 (patch)
treee1c739a8399ba2e9f9b76ffbace59b2c58b63f79
parentb2b8e8ebef369da9281fea67b2c0c7e57d48f6e4 (diff)
udev: Auto-add the rootfs partition to mount.blacklist via postinst to work around a bug in the auto-mounter * * Untested in .dev! * *
-rw-r--r--packages/udev/files/mount.sh5
-rw-r--r--packages/udev/udev_092.bb19
-rw-r--r--packages/udev/udev_097.bb20
-rw-r--r--packages/udev/udev_100.bb19
4 files changed, 60 insertions, 3 deletions
diff --git a/packages/udev/files/mount.sh b/packages/udev/files/mount.sh
index 48c7844690..be8b3dfca9 100644
--- a/packages/udev/files/mount.sh
+++ b/packages/udev/files/mount.sh
@@ -50,6 +50,11 @@ if [ "$ACTION" = "add" ] && [ -n "$DEVNAME" ]; then
fi
# If the device isn't mounted at this point, it isn't configured in fstab
+ # 20061107: Small correction: The rootfs partition may be called just "rootfs" and not by
+ # its true device name so this would break. If the rootfs is mounted on two places
+ # during boot, it confuses the heck out of fsck. So Im auto-adding the root-partition
+ # to /etc/udev/mount.blacklist via postinst
+
cat /proc/mounts | awk '{print $1}' | grep -q "^$DEVNAME$" || automount
fi
diff --git a/packages/udev/udev_092.bb b/packages/udev/udev_092.bb
index 2de59fb018..3d33938fb1 100644
--- a/packages/udev/udev_092.bb
+++ b/packages/udev/udev_092.bb
@@ -3,7 +3,7 @@ DESCRIPTION = "udev is a daemon which dynamically creates and removes device nod
the hotplug package and requires a kernel not older than 2.6.12."
RPROVIDES = "hotplug"
-PR = "r12"
+PR = "r13"
SRC_URI = "http://kernel.org/pub/linux/utils/kernel/hotplug/udev-${PV}.tar.gz \
file://noasmlinkage.patch;patch=1 \
@@ -57,3 +57,20 @@ do_install () {
do_install_append_h2200() {
install -m 0644 ${WORKDIR}/50-hostap_cs.rules ${D}${sysconfdir}/udev/rules.d/50-hostap_cs.rules
}
+
+pkg_postinst_append() {
+
+ # Add the root partition to mount.blacklist to avoid a bug in the auto-mounter,
+ # causing confusion with fsck on boot
+
+ while read dev mp fs junk
+ do
+ if test "$mp" = "/"
+ then
+ root_partition="$dev"
+ echo "$root_partition" >> /etc/udev/mount.blacklist
+ fi
+ done < /etc/fstab
+
+}
+
diff --git a/packages/udev/udev_097.bb b/packages/udev/udev_097.bb
index 3abd9b5fa7..497357775e 100644
--- a/packages/udev/udev_097.bb
+++ b/packages/udev/udev_097.bb
@@ -8,7 +8,7 @@ used to detect the type of a file system and read its metadata."
DESCRIPTION_libvolume-id-dev = "libvolume_id development headers, \
needed to link programs with libvolume_id."
-PR = "r3"
+PR = "r4"
SRC_URI = "http://kernel.org/pub/linux/utils/kernel/hotplug/udev-${PV}.tar.gz \
file://noasmlinkage.patch;patch=1 \
@@ -61,3 +61,21 @@ do_install () {
do_install_append_h2200() {
install -m 0644 ${WORKDIR}/50-hostap_cs.rules ${D}${sysconfdir}/udev/rules.d/50-hostap_cs.rules
}
+
+pkg_postinst_append() {
+
+ # Add the root partition to mount.blacklist to avoid a bug in the auto-mounter,
+ # causing confusion with fsck on boot
+
+ while read dev mp fs junk
+ do
+ if test "$mp" = "/"
+ then
+ root_partition="$dev"
+ echo "$root_partition" >> /etc/udev/mount.blacklist
+ fi
+ done < /etc/fstab
+
+}
+
+
diff --git a/packages/udev/udev_100.bb b/packages/udev/udev_100.bb
index 31d49d44d8..183d785627 100644
--- a/packages/udev/udev_100.bb
+++ b/packages/udev/udev_100.bb
@@ -9,7 +9,7 @@ used to detect the type of a file system and read its metadata."
DESCRIPTION_libvolume-id-dev = "libvolume_id development headers, \
needed to link programs with libvolume_id."
-PR = "r2"
+PR = "r3"
SRC_URI = "http://kernel.org/pub/linux/utils/kernel/hotplug/udev-${PV}.tar.gz \
file://noasmlinkage.patch;patch=1 \
@@ -62,3 +62,20 @@ do_install () {
do_install_append_h2200() {
install -m 0644 ${WORKDIR}/50-hostap_cs.rules ${D}${sysconfdir}/udev/rules.d/50-hostap_cs.rules
}
+
+pkg_postinst_append() {
+
+ # Add the root partition to mount.blacklist to avoid a bug in the auto-mounter,
+ # causing confusion with fsck on boot
+
+ while read dev mp fs junk
+ do
+ if test "$mp" = "/"
+ then
+ root_partition="$dev"
+ echo "$root_partition" >> /etc/udev/mount.blacklist
+ fi
+ done < /etc/fstab
+
+}
+