diff -urN grub/lib/device.c grub-ataraid/lib/device.c --- grub/lib/device.c 2004-01-17 09:00:03.000000000 -0700 +++ grub-ataraid/lib/device.c 2004-02-19 12:43:24.000000000 -0700 @@ -263,6 +263,16 @@ #endif } +#ifdef __linux__ +/* Adding support for ATARAID disks. -Boji 2003/11/26 */ +static void +get_ataraid_disk_name (char *name, int unit) +{ + /* GNU/Linux */ + sprintf (name, "/dev/ataraid/d%c", unit + '0'); +} +#endif + static void get_scsi_disk_name (char *name, int unit) { @@ -627,7 +637,28 @@ num_hd++; } } - + +#ifdef __linux__ + /* Adding support for ATARAID disks. -Boji 2003/11/26 */ + for (i = 0; i < 8; i++) + { + char name[20]; + + get_ataraid_disk_name (name, i); + if (check_device (name)) + { + (*map)[num_hd + 0x80] = strdup (name); + assert ((*map)[num_hd + 0x80]); + + /* If the device map file is opened, write the map. */ + if (fp) + fprintf (fp, "(hd%d)\t%s\n", num_hd, name); + + num_hd++; + } + } +#endif /* __linux__ */ + /* The rest is SCSI disks. */ for (i = 0; i < 16; i++) { diff -urN grub/util/grub-install.in grub-ataraid/util/grub-install.in --- grub/util/grub-install.in 2004-01-18 12:47:18.000000000 -0700 +++ grub-ataraid/util/grub-install.in 2004-02-19 12:43:24.000000000 -0700 @@ -89,13 +89,16 @@ fi # Break the device name into the disk part and the partition part. + # Added parsing for ATARAID disks. - Boji 2003/11/26 case "$host_os" in linux*) tmp_disk=`echo "$1" | sed -e 's%\([sh]d[a-z]\)[0-9]*$%\1%' \ + -e 's%\(d[0-9]*\)p[0-9]*$%\1%' \ -e 's%\(fd[0-9]*\)$%\1%' \ -e 's%/part[0-9]*$%/disc%' \ -e 's%\(c[0-7]d[0-9]*\).*$%\1%'` tmp_part=`echo "$1" | sed -e 's%.*/[sh]d[a-z]\([0-9]*\)$%\1%' \ + -e 's%.*d[0-9]*p*%%' \ -e 's%.*/fd[0-9]*$%%' \ -e 's%.*/floppy/[0-9]*$%%' \ -e 's%.*/\(disc\|part\([0-9]*\)\)$%\2%' \