Index: /branches/rel_avx_2_7_5/src/backend/sys_tool.c
===================================================================
--- /branches/rel_avx_2_7_5/src/backend/sys_tool.c	(revision 9133)
+++ /branches/rel_avx_2_7_5/src/backend/sys_tool.c	(working copy)
@@ -3005,6 +3005,9 @@
     printf("\n<<<< Network Interface Configuration >>>>\n\n");
     show_interface("all");
   
+    printf("\n<<<< System Disk Details >>>>\n\n");
+    show_disk_details();
+
     printf("\n<<<< MAC pool >>>>\n\n");
     avx_macpool_show();
 
@@ -4121,3 +4124,61 @@
     free_ssl_port_detail_resource(&ssl_port);
     return 0;
 }
+
+int show_disk_details() {
+
+        char *cmdstr1 =
+            "smartctl -i /dev/sda | awk -F':' '/Device Model/ { gsub(/^ +| +$/, \"\", $2); "
+            "print \"MODEL=\" $2 } "
+            "/Rotation Rate/ { gsub(/^ +| +$/, \"\", $2); print \"ROTATION=\" $2 }'";
+
+        char *cmdstr2 =
+            "dd if=/dev/zero of=/tmp/test bs=1M count=1000 2>&1 | "
+            "awk '/copied/ {print $(NF-1), $NF}' ; rm -f /tmp/test";
+
+        FILE *fp = NULL;
+        char line[1024];
+        char model[128] = "";
+        char rotation[128] = "";
+        char speed[128] = "";
+        char outbuf[1024];
+        int pos = 0;
+
+        fp = popen(cmdstr1, "r");
+        if (fp) {
+            while (fgets(line, sizeof(line), fp)) {
+
+                if (strncmp(line, "MODEL=", 6) == 0) {
+                    sscanf(line, "MODEL=%127[^\n]", model);
+                }
+
+                if (strncmp(line, "ROTATION=", 9) == 0) {
+                    sscanf(line, "ROTATION=%127[^\n]", rotation);
+                }
+            }
+            pclose(fp);
+        }
+
+        fp = popen(cmdstr2, "r");
+        if (fp) {
+            while (fgets(line, sizeof(line), fp)) {
+                sscanf(line, "%127[^\n]", speed);
+            }
+            pclose(fp);
+        }
+
+        pos += snprintf(outbuf + pos, sizeof(outbuf) - pos,
+                        "%11s: %s\n", "Disk Model", model);
+        if (strstr(rotation, "Solid State Device")) {
+            pos += snprintf(outbuf + pos, sizeof(outbuf) - pos,
+                            "%11s: Solid State Device\n", "Device Type");
+        } else {
+            pos += snprintf(outbuf + pos, sizeof(outbuf) - pos,
+                            "%11s: Hard Disk Drive\n", "Device Type");
+        }
+        pos += snprintf(outbuf + pos, sizeof(outbuf) - pos,
+                        "%11s: %s\n", "Disk Speed", speed);
+        printf("%s", outbuf);
+        return 0;
+}
+
Index: /branches/rel_avx_2_7_5/src/generator/commands.pm
===================================================================
--- /branches/rel_avx_2_7_5/src/generator/commands.pm	(revision 9133)
+++ /branches/rel_avx_2_7_5/src/generator/commands.pm	(working copy)
@@ -2536,6 +2536,16 @@
 		function_args => [],
 	},
 	{
+		obj_type => "ITEM",
+		name => "disk",
+		menu => "root_show",
+		cmd_attribute => "CMD_ARRAYOS|CMD_NORMAL",
+		user_level => "CLI_LEVEL_ENGINEER",
+		help_string => "Display the disk details",
+		function_name => "show_disk_details",
+		function_args => [],
+	},
+	{
 		obj_type => "MENU",
 		name => "boot",
 		parent_menu => "root_system",
