[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#338719: Add support for dmraid in disk-detect



tags 338719 + patch
thanks

Hi!

Attached is a patch modifying disk-detect to enable dmraid devices
detection.

This patch does not enable full support for dmraid devices in the whole
debian-installer.  Other identified aspects needing work are:
 - debian-installer-utils/list-devices and mabye udevinfo
     for disk and partition detections ;
     also need to hide disks involved in dmraid array
 - partman-base/definitions.sh
     humandev device name translation
 - partman-base/init.d/parted
     device detection and filtering
 - grub-installer, maybe lilo-installer
     for grub, should be somehting like [1]:
       device (hd0,x) /dev/mapper/<dmraid_name>x+1 
       device (hd0) /dev/mapper/<dmraid_name> 
       root (hd0,x) 
       setup (hd0) 

[1] http://people.debian.org/~terpstra/message/20051108.120744.d1e3e835.en.html

Regards,
-- 
Jérémy
Index: debian/control
===================================================================
--- debian/control	(revision 40924)
+++ debian/control	(working copy)
@@ -23,7 +23,7 @@
 Package: disk-detect
 XC-Package-Type: udeb
 Architecture: all
-Depends: cdebconf-udeb (>= 0.38), hw-detect, di-utils (>= 1.13)
+Depends: cdebconf-udeb (>= 0.38), hw-detect, di-utils (>= 1.13), dmraid-udeb [i386 amd64]
 Priority: optional
 Provides: harddrive-detection
 Enhances: hw-detect
Index: disk-detect.sh
===================================================================
--- disk-detect.sh	(revision 40924)
+++ disk-detect.sh	(working copy)
@@ -114,7 +114,9 @@
 
 		db_get disk-detect/module_select
 		if [ "$RET" = "continue with no disk drive" ]; then
-			break
+		        # Don't display an error message and return to the
+			# menu, then.
+			exit 0
 		elif [ "$RET" != "none of the above" ]; then
 			module="$RET"
 			if [ -n "$module" ] && is_not_loaded "$module" ; then
@@ -147,3 +149,19 @@
 	fi
 	db_capb
 done
+
+# Activate dmraid devices if needed
+if [ -x /sbin/dmraid ]; then
+	devices=`dmraid -c -s`
+	if [ "$devices" != "No RAID disks" ]; then
+		# At least a device was there, so load the necessary modules
+		for module in dm-mod dm-mirror; do
+			if is_not_loaded "$module" ; then
+				register-module "$module"
+				module_probe "$module"
+			fi
+		done
+		# Activate all RAID devices
+		log-output -t disk-detect dmraid -pay
+	fi
+fi

Attachment: signature.asc
Description: Digital signature


Reply to: