]> git.pld-linux.org Git - projects/geninitrd.git/commitdiff
Always make /dev on tmpfs for LVM2
authorElan Ruusamäe <glen@pld-linux.org>
Wed, 18 Oct 2006 02:06:57 +0000 (02:06 +0000)
committerElan Ruusamäe <glen@pld-linux.org>
Wed, 18 Oct 2006 02:06:57 +0000 (02:06 +0000)
svn-id: @7866

geninitrd

index c636cb33b64eece8cfccc9f5f26151bb3955fe0c..f9210110c87487c9d2fee885ead07e63d2f24b9e 100755 (executable)
--- a/geninitrd
+++ b/geninitrd
@@ -1321,6 +1321,12 @@ initrd_gen_lvm() {
        mkdir -p $MNTIMAGE/tmp
        mkdir -p $MNTIMAGE/proc
        mkdir -p $MNTIMAGE/newroot
+
+       # always make /dev on tmpfs for LVM2
+       if [ "$LVMTOOLSVERSION" = "2" ] && ! is_yes "$tmpfs_dev"; then
+               initrd_gen_tmpfs_dev >> "$s"
+       fi
+
        if ! is_yes "$tmpfs_dev"; then
                mkdir -p $MNTIMAGE/dev/mapper
                mknod $MNTIMAGE/dev/mapper/control c 10 63
@@ -1354,13 +1360,28 @@ initrd_gen_lvm() {
                echo "}" >> "$MNTIMAGE/etc/lvm.conf"
 
                cat <<-EOF >> "$s"
+               : 'Making device nodes'
+               (
+               # ignore first two lines, header and empty line
+               read a
+               read a
+               while read major minor blocks dev; do
+                       mknod /dev/\$dev b \$major \$minor
+               done
+               ) < /proc/partitions
+
                : 'Scanning for Volume Groups'
-               LVM_SYSTEM_DIR=/tmp lvm vgscan --ignorelockingfailure
+               # I hate that noise.
+               PRINTK=\$(cat /proc/sys/kernel/printk)
+               echo 0 > /proc/sys/kernel/printk
+               LVM_SYSTEM_DIR=/tmp lvm vgscan --ignorelockingfailure 2>/dev/null
+               echo "\$PRINTK" > /proc/sys/kernel/printk
+
                : 'Activating Volume Groups'
                LVM_SYSTEM_DIR=/tmp lvm vgchange --ignorelockingfailure -a y $VGVOLUME 2>/dev/null
 
                # Find out major/minor
-               majmin="\`LVM_SYSTEM_DIR=/tmp lvm lvdisplay --ignorelockingfailure -c $org_rootdev\`"
+               majmin="\$(LVM_SYSTEM_DIR=/tmp lvm lvdisplay --ignorelockingfailure -c $org_rootdev 2>/dev/null)"
                majmin="\${majmin#*/}"
                majmin="\${majmin#*:*:*:*:*:*:*:*:*:*:*:*}"
                major="\${majmin%:*}"
This page took 0.256614 seconds and 4 git commands to generate.