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 via email to