SVN: geninitrd/trunk/geninitrd

glen glen at pld-linux.org
Wed Oct 18 04:06:58 CEST 2006


Author: glen
Date: Wed Oct 18 04:06:57 2006
New Revision: 7866

Modified:
   geninitrd/trunk/geninitrd
Log:
Always make /dev on tmpfs for LVM2

Modified: geninitrd/trunk/geninitrd
==============================================================================
--- geninitrd/trunk/geninitrd	(original)
+++ geninitrd/trunk/geninitrd	Wed Oct 18 04:06:57 2006
@@ -1321,6 +1321,12 @@
 	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 @@
 		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%:*}"


More information about the pld-cvs-commit mailing list