Bug#134233: no support for cciss devices
Package: boot-floppies
Version: 3.0.19
Severity: wishlist
Tags: patch
This patch adds support for cciss devices (on Compaq Proliant servers).
See also at patch in bugreport #132864. This patch must be applied and
debootstrap must be rebuild.
--- boot-floppies-3.0.19.orig/utilities/dbootstrap/bootconfig.c
+++ boot-floppies-3.0.19/utilities/dbootstrap/bootconfig.c
@@ -428,6 +428,7 @@
#define DEV_SDA "/dev/sda"
#define DEV_RD_C0D0 "/dev/rd/c0d0"
#define DEV_IDA_C0D0 "/dev/ida/c0d0"
+#define DEV_CCISS_C0D0 "/dev/cciss/c0d0"
/* part_disk_name: return name of partition's disk device, if available */
char *part_disk_name(struct fdisk_partition *part)
@@ -441,6 +442,7 @@
char *dname = part_disk_name(part);
return dname && (strcmp(dname, DEV_SDA) == 0 ||
strcmp(dname, DEV_RD_C0D0) == 0 ||
++ strcmp(dname, DEV_CCISS_C0D0) == 0 ||
strcmp(dname, DEV_IDA_C0D0) == 0);
}
@@ -499,7 +501,12 @@
{
return strncmp(name, DEV_IDA_C0D0, strlen(DEV_IDA_C0D0) - 3) == 0;
}
-
+/* is_scsicciss: returns true if partition is on a SCSI disk (/dev/cciss/c*) */
+int is_scsicciss(const char *name)
+{
+ return strncmp(name, DEV_CCISS_C0D0, strlen(DEV_CCISS_C0D0) - 3) == 0;
+}
+
/* Return a string containing the name of the first existing IDE disk. */
char *first_ide_disk(void)
{
@@ -2307,6 +2314,8 @@
device = DEV_RD_C0D0;
else if (is_scsiida(boot))
device = DEV_IDA_C0D0;
+ else if (is_scsicciss(boot))
+ device = DEV_CCISS_C0D0;
else
#endif
{
@@ -2390,6 +2399,7 @@
else if (is_scsi(boot)) device = DEV_SDA;
else if (is_scsird(boot)) device = DEV_RD_C0D0;
else if (is_scsiida(boot)) device = DEV_IDA_C0D0;
+ else if (is_scsicciss(boot)) device = DEV_CCISS_C0D0;
else {
INFOMSG("couldn't determine drive type for new boot partition %s", boot);
device = inputBox(_("The attempt to deduce what your boot disk is failed. "
--- boot-floppies-3.0.19.orig/utilities/libfdisk/fdisk.c
+++ boot-floppies-3.0.19/utilities/libfdisk/fdisk.c
@@ -569,6 +569,7 @@
{ 65 << 8, 112, 16 }, /* sdq - sddx */
{ 72 << 8, 128, 16 }, /* ida/c0d0 - ida/c7d15 */
{ 94 << 8, 26, 4 }, /* dasda - dasdz */
+ {104 << 8, 256, 16 }, /* cciss/c0d0 - cciss/c7d15 */
{ 0, 0, 0 }
};
Reply to: