diff --git a/lib/openbmc_ffdc.robot b/lib/openbmc_ffdc.robot
index c9440b8..1f7caff 100755
--- a/lib/openbmc_ffdc.robot
+++ b/lib/openbmc_ffdc.robot
@@ -14,6 +14,10 @@
 ...                │       ├── 20160909102538035251_BMC_led
 ...                │       ├── 20160909102538035251_BMC_record_log
 ...                │       ├── 20160909102538035251_BMC_sensor_list
+...                │       ├── 20160909102538035251_OS_dmesg
+...                │       ├── 20160909102538035251_OS_msglog
+...                │       ├── 20160909102538035251_OS_cpufrequency
+...                │       ├── 20160909102538035251_OS_boot
 ...                │       └── 20160909102538035251_ffdc_report.txt
 ...                └── test_history.txt
 
diff --git a/lib/openbmc_ffdc_list.py b/lib/openbmc_ffdc_list.py
index b367e8b..f71309a 100755
--- a/lib/openbmc_ffdc_list.py
+++ b/lib/openbmc_ffdc_list.py
@@ -49,6 +49,18 @@
     },
 }
 
+# Add file name and correcponding command needed for all Linux distributions
+FFDC_OS_ALL_DISTROS_FILE = {
+    'OS FILES':
+    {
+        # File Name         Command
+        'OS_msglog': 'cat /sys/firmware/opal/msglog',
+        'OS_cpufrequency': 'ppc64_cpu --frequency',
+        'OS_dmesg': 'dmesg',
+        'OS_boot': 'cat /var/log/boot.log',
+    },
+}
+
 # Add file name and correcponding Get Request
 FFDC_GET_REQUEST = {
     'GET REQUESTS':
@@ -70,6 +82,7 @@
         'FFDC Generic Report': 'BMC FFDC Manifest',
         'BMC Specific Files': 'BMC FFDC Files',
         'Get Request FFDC': 'BMC FFDC Get Requests',
+        'OS FFDC': 'OS FFDC Files',
     },
 }
 
@@ -154,6 +167,24 @@
         """
         return FFDC_METHOD_CALL[i_type].items()
 
+    def get_ffdc_os_all_distros_index(self):
+        r"""
+        ########################################################################
+        #   @brief    This method returns the key pair from the dictionary
+        #   @return   Index of the method dictionary
+        ########################################################################
+        """
+        return FFDC_OS_ALL_DISTROS_FILE.keys()
+
+    def get_ffdc_os_all_distros_call(self, i_type):
+        r"""
+        ########################################################################
+        #   @brief    This method returns the key pair from the dictionary
+        #   @return   List of key pair keywords
+        ########################################################################
+        """
+        return FFDC_OS_ALL_DISTROS_FILE[i_type].items()
+
     def get_strip_string(self, i_str):
         r"""
         ########################################################################
diff --git a/lib/openbmc_ffdc_methods.robot b/lib/openbmc_ffdc_methods.robot
index 5c4b9cf..6bdf5e8 100755
--- a/lib/openbmc_ffdc_methods.robot
+++ b/lib/openbmc_ffdc_methods.robot
@@ -5,6 +5,7 @@
 Resource           openbmc_ffdc_utils.robot
 Resource           rest_client.robot
 
+
 *** Keywords ***
 
 ################################################################
@@ -160,3 +161,27 @@
     @{entries}=  Get ffdc get request index
     :FOR  ${index}  IN  @{entries}
     \   Log FFDC Get Requests   ${index}
+
+
+Log OS FFDC
+    [Documentation]    Create file in current FFDC log directory.
+    ...                Executes OS command and write to
+    ...                corresponding file name.
+    [Arguments]        ${key_index}
+
+    Open Connection And Log In  host=${OS_HOST}  username=${OS_USERNAME}
+    ...   password=${OS_PASSWORD}
+    @{cmd_list}=  get ffdc os all distros call  ${key_index}
+    :FOR  ${cmd}  IN  @{cmd_list}
+    \   ${logpath}=  Catenate  SEPARATOR=  ${LOG_PREFIX}  ${cmd[0]}
+    \   Execute Command and Write FFDC  ${cmd[0]}  ${cmd[1]}   ${logpath}
+
+
+OS FFDC
+    [Documentation]    Get the command list and iterate
+
+    Return From Keyword If  '${OS_HOST}' == '${EMPTY}'
+    ...   No OS Host Provided
+    @{entries}=  Get ffdc os all distros index
+    :FOR  ${index}  IN  @{entries}
+    \   Log OS FFDC  ${index}
