summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Bächler <thomas@archlinux.org>2011-06-07 20:35:41 +0200
committerThomas Bächler <thomas@archlinux.org>2011-06-07 20:58:20 +0200
commit92a9fa8ee76917c4596366ce9be0e8b7d216d33d (patch)
treed6d607a3c2a8962040d8289ab039274669eadc34
parentb7e37eb94bf4695c42ff38a9e760f545644242da (diff)
downloadmkinitcpio-92a9fa8ee76917c4596366ce9be0e8b7d216d33d.tar.gz
mkinitcpio-92a9fa8ee76917c4596366ce9be0e8b7d216d33d.tar.xz
default_mount_handler: Only try to manually create the root device if devtmpfs is not used.
-rw-r--r--init2
-rw-r--r--init_functions2
2 files changed, 3 insertions, 1 deletions
diff --git a/init b/init
index a1398b6..a5e6103 100644
--- a/init
+++ b/init
@@ -8,8 +8,10 @@
/bin/mount -t sysfs sys /sys -o nosuid,noexec,nodev
if grep -q devtmpfs /proc/filesystems 2>/dev/null; then
/bin/mount -n -t devtmpfs udev /dev -o mode=0755,size=10M,nosuid
+ devtmpfs_mounted=1
else
/bin/mount -n -t tmpfs udev /dev -o mode=0755,size=10M,nosuid
+ devtmpfs_mounted=0
# We don't have devtmpfs, so add the most important standard devices
/bin/mknod /dev/null c 1 3
/bin/mknod /dev/zero c 1 5
diff --git a/init_functions b/init_functions
index a94f525..ef938b4 100644
--- a/init_functions
+++ b/init_functions
@@ -86,7 +86,7 @@ default_mount_handler() {
msg "Root device '${root}' doesn't exist. Attempting to create it."
major=""
minor=""
- if [ ${root:0:5} = "/dev/" ]; then
+ if [ ${devtmpfs_mounted} -eq 0 -a ${root:0:5} = "/dev/" ]; then
# It might be a block device (/dev/sda) -> /sys/class/block/sda/dev
if [ -e /sys/class/block/${root:5}/dev ]; then
IFS=':' read major minor < "/sys/class/block/${root:5}/dev"